Bug 196703 - [CMake] Audit uses of set_source_files_properties
Summary: [CMake] Audit uses of set_source_files_properties
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: CMake (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-08 13:01 PDT by Michael Catanzaro
Modified: 2019-04-08 13:01 PDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2019-04-08 13:01:40 PDT
We should audit all uses of set_source_files_properties as they're likely broken. They can only work for source files excluded from unified build (either with @no-unify or by not being listed in Sources.txt).

Source/JavaScriptCore/CMakeLists.txt:    set_source_files_properties(builtins/BuiltinNames.cpp PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
Source/JavaScriptCore/shell/PlatformMac.cmake:set_source_files_properties(${TESTAPI_OBJC_SOURCES} PROPERTIES COMPILE_FLAGS -fobjc-arc)
Source/ThirdParty/libwebrtc/Source/third_party/protobuf/cmake/protobuf-module.cmake.in:  set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE)
Source/ThirdParty/openvr/src/CMakeLists.txt:    set_source_files_properties(vrcommon/pathtools_public.cpp vrcommon/vrpathregistry_public.cpp PROPERTIES COMPILE_FLAGS "-x objective-c++")
Source/WebCore/ChangeLog-2015-11-21:        because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want 
Source/WebCore/platform/GStreamer.cmake:    set_source_files_properties(platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp PROPERTIES COMPILE_DEFINITIONS "GLIB_DISABLE_DEPRECATION_WARNINGS=1")
Source/WebKitLegacy/PlatformMac.cmake:        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++17")
Source/WebKitLegacy/PlatformMac.cmake:        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99)
Source/WebKitLegacy/PlatformWin.cmake:    set_source_files_properties(${DERIVED_SOURCES_WEBKITLEGACY_DIR}/Interfaces/${_filewe}.h PROPERTIES GENERATED TRUE)
Source/WebKitLegacy/PlatformWin.cmake:    set_source_files_properties(${DERIVED_SOURCES_WEBKITLEGACY_DIR}/Interfaces/${_filewe}_i.c PROPERTIES GENERATED TRUE)
Source/cmake/WebKitMacros.cmake:            set_source_files_properties(${_sourceFileTmp} PROPERTIES HEADER_FILE_ONLY ON)
Source/cmake/WebKitMacros.cmake:    set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
Source/cmake/WebKitMacros.cmake:            set_source_files_properties(${_cpp}
Source/cmake/WebKitMacros.cmake:            set_source_files_properties(${_cpp}
Source/cmake/WebKitMacros.cmake:        set_source_files_properties(${_sources}
Tools/DumpRenderTree/PlatformMac.cmake:    set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-std=c99")
Tools/DumpRenderTree/PlatformMac.cmake:    set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-std=c++17")
Tools/DumpRenderTree/PlatformMac.cmake:    set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++17")
Tools/Scripts/webkitpy/style/checkers/cmake.py:        'set_source_files_properties', 'set_target_properties',

It's good we have a style checker rule for it, at least.