Author: Raphael Isemann Date: 2020-03-06T17:21:24-08:00 New Revision: ce1bc00f37d7f85004aef97f68eb8289a0454562
URL: https://github.com/llvm/llvm-project/commit/ce1bc00f37d7f85004aef97f68eb8289a0454562 DIFF: https://github.com/llvm/llvm-project/commit/ce1bc00f37d7f85004aef97f68eb8289a0454562.diff LOG: [lldb][cmake] Move remove_module_flags macro to AddLLDB.cmake Summary: This is currently hidden in the Host CMakeLists but we should also use this macro in other parts of LLDB where we have ObjC++ sources (see D74891) Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D75164 Added: Modified: lldb/cmake/modules/AddLLDB.cmake lldb/source/Host/CMakeLists.txt Removed: ################################################################################ diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index ecf0b66a41a3..4ed5c647c5d2 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -336,3 +336,17 @@ function(lldb_find_system_debugserver path) endif() endif() endfunction() + +# Removes all module flags from the current CMAKE_CXX_FLAGS. Used for +# the Objective-C++ code in lldb which we don't want to build with modules. +# Reasons for this are that modules with Objective-C++ would require that +# all LLVM/Clang modules are Objective-C++ compatible (which they are likely +# not) and we would have rebuild a second set of modules just for the few +# Objective-C++ files in lldb (which slows down the build process). +macro(remove_module_flags) + string(REGEX REPLACE "-fmodules-cache-path=[^ ]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REGEX REPLACE "-fmodules-local-submodule-visibility" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REGEX REPLACE "-fmodules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REGEX REPLACE "-gmodules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REGEX REPLACE "-fcxx-modules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +endmacro() diff --git a/lldb/source/Host/CMakeLists.txt b/lldb/source/Host/CMakeLists.txt index a15c34fdbb6b..ac8655f3dd88 100644 --- a/lldb/source/Host/CMakeLists.txt +++ b/lldb/source/Host/CMakeLists.txt @@ -3,20 +3,6 @@ macro(add_host_subdirectory group) source_group(${group} FILES ${ARGN}) endmacro() -# Removes all module flags from the current CMAKE_CXX_FLAGS. Used for -# the Objective-C++ code in lldb which we don't want to build with modules. -# Reasons for this are that modules with Objective-C++ would require that -# all LLVM/Clang modules are Objective-C++ compatible (which they are likely -# not) and we would have rebuild a second set of modules just for the few -# Objective-C++ files in lldb (which slows down the build process). -macro(remove_module_flags) - string(REGEX REPLACE "-fmodules-cache-path=[^ ]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REGEX REPLACE "-fmodules-local-submodule-visibility" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REGEX REPLACE "-fmodules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REGEX REPLACE "-gmodules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - string(REGEX REPLACE "-fcxx-modules" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -endmacro() - add_host_subdirectory(common common/FileAction.cpp common/FileCache.cpp _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits