diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -703,7 +703,7 @@ option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON) if(LLVM_BUILD_EXAMPLES) - add_definitions(-DBUILD_EXAMPLES) + add_compile_definitions(BUILD_EXAMPLES) endif(LLVM_BUILD_EXAMPLES) option(LLVM_BUILD_TESTS @@ -1059,8 +1059,8 @@ # Build with _XOPEN_SOURCE on AIX, as stray macros in _ALL_SOURCE mode tend to # break things. In this case we need to enable the large-file API as well. if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX") - add_definitions("-D_XOPEN_SOURCE=700") - add_definitions("-D_LARGE_FILE_API") + add_compile_definitions(_XOPEN_SOURCE=700) + add_compile_definitions(_LARGE_FILE_API) # CMake versions less than 3.16 set default linker flags to include -brtl, as # well as setting -G when building libraries, so clear them out. Note we only @@ -1095,14 +1095,14 @@ # Build with _XOPEN_SOURCE on z/OS. if (CMAKE_SYSTEM_NAME MATCHES "OS390") - add_definitions("-D_XOPEN_SOURCE=600") - add_definitions("-D_OPEN_SYS") # Needed for process information. - add_definitions("-D_OPEN_SYS_FILE_EXT") # Needed for EBCDIC I/O. + add_compile_definitions(_XOPEN_SOURCE=600) + add_compile_definitions(_OPEN_SYS) # Needed for process information. + add_compile_definitions(_OPEN_SYS_FILE_EXT) # Needed for EBCDIC I/O. endif() # Build with _FILE_OFFSET_BITS=64 on Solaris to match g++ >= 9. if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "SunOS") - add_definitions("-D_FILE_OFFSET_BITS=64") + add_compile_definitions(_FILE_OFFSET_BITS=64) endif() set(CMAKE_INCLUDE_CURRENT_DIR ON) diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -61,13 +61,11 @@ if( LLVM_ENABLE_ASSERTIONS ) # MSVC doesn't like _DEBUG on release builds. See PR 4379. if( NOT MSVC ) - add_definitions( -D_DEBUG ) + add_compile_definitions(_DEBUG) endif() # On non-Debug builds cmake automatically defines NDEBUG, so we # explicitly undefine it: if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" ) - # NOTE: use `add_compile_options` rather than `add_definitions` since - # `add_definitions` does not support generator expressions. add_compile_options($<$,$>:-UNDEBUG>) if (MSVC) # Also remove /D NDEBUG to avoid MSVC warnings about conflicting defines. @@ -86,7 +84,7 @@ endif() if(LLVM_ENABLE_EXPENSIVE_CHECKS) - add_definitions(-DEXPENSIVE_CHECKS) + add_compile_definitions(EXPENSIVE_CHECKS) # In some libstdc++ versions, std::min_element is not constexpr when # _GLIBCXX_DEBUG is enabled. @@ -99,14 +97,14 @@ return 0; }" CXX_SUPPORTS_GLIBCXX_DEBUG) if(CXX_SUPPORTS_GLIBCXX_DEBUG) - add_definitions(-D_GLIBCXX_DEBUG) + add_compile_definitions(_GLIBCXX_DEBUG) else() - add_definitions(-D_GLIBCXX_ASSERTIONS) + add_compile_definitions(_GLIBCXX_ASSERTIONS) endif() endif() if (LLVM_ENABLE_STRICT_FIXED_SIZE_VECTORS) - add_definitions(-DSTRICT_FIXED_SIZE_VECTORS) + add_compile_definitions(STRICT_FIXED_SIZE_VECTORS) endif() string(TOUPPER "${LLVM_ABI_BREAKING_CHECKS}" uppercase_LLVM_ABI_BREAKING_CHECKS) @@ -372,7 +370,7 @@ endif() if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MINGW) - add_definitions( -D_FILE_OFFSET_BITS=64 ) + add_compile_definitions(_FILE_OFFSET_BITS=64) endif() if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) @@ -386,8 +384,8 @@ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -m32") # FIXME: CMAKE_SIZEOF_VOID_P is still 8 - add_definitions(-D_LARGEFILE_SOURCE) - add_definitions(-D_FILE_OFFSET_BITS=64) + add_compile_definitions(_LARGEFILE_SOURCE) + add_compile_definitions(_FILE_OFFSET_BITS=64) endif( LLVM_BUILD_32_BITS ) endif( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) @@ -399,8 +397,8 @@ endif() if( CMAKE_SIZEOF_VOID_P EQUAL 4 AND NOT LLVM_FORCE_SMALLFILE_FOR_ANDROID) # FIXME: It isn't handled in LLVM_BUILD_32_BITS. - add_definitions( -D_LARGEFILE_SOURCE ) - add_definitions( -D_FILE_OFFSET_BITS=64 ) + add_compile_definitions(_LARGEFILE_SOURCE) + add_compile_definitions(_FILE_OFFSET_BITS=64) endif() if( XCODE ) @@ -433,10 +431,10 @@ "Number of parallel compiler jobs. 0 means use all processors. Default is 0.") if( NOT LLVM_COMPILER_JOBS STREQUAL "1" ) if( LLVM_COMPILER_JOBS STREQUAL "0" ) - add_definitions( /MP ) + add_compile_options(/MP) else() message(STATUS "Number of parallel compiler jobs set to " ${LLVM_COMPILER_JOBS}) - add_definitions( /MP${LLVM_COMPILER_JOBS} ) + add_compile_options(/MP${LLVM_COMPILER_JOBS}) endif() else() message(STATUS "Parallel compilation disabled") @@ -465,20 +463,20 @@ include(ChooseMSVCCRT) # Add definitions that make MSVC much less annoying. - add_definitions( + add_compile_definitions( # For some reason MS wants to deprecate a bunch of standard functions... - -D_CRT_SECURE_NO_DEPRECATE - -D_CRT_SECURE_NO_WARNINGS - -D_CRT_NONSTDC_NO_DEPRECATE - -D_CRT_NONSTDC_NO_WARNINGS - -D_SCL_SECURE_NO_DEPRECATE - -D_SCL_SECURE_NO_WARNINGS + _CRT_SECURE_NO_DEPRECATE + _CRT_SECURE_NO_WARNINGS + _CRT_NONSTDC_NO_DEPRECATE + _CRT_NONSTDC_NO_WARNINGS + _SCL_SECURE_NO_DEPRECATE + _SCL_SECURE_NO_WARNINGS ) # Tell MSVC to use the Unicode version of the Win32 APIs instead of ANSI. - add_definitions( - -DUNICODE - -D_UNICODE + add_compile_definitions( + UNICODE + _UNICODE ) if (LLVM_WINSYSROOT) @@ -963,9 +961,9 @@ endif() endif() -add_definitions( -D__STDC_CONSTANT_MACROS ) -add_definitions( -D__STDC_FORMAT_MACROS ) -add_definitions( -D__STDC_LIMIT_MACROS ) +add_compile_definitions(__STDC_CONSTANT_MACROS) +add_compile_definitions(__STDC_FORMAT_MACROS) +add_compile_definitions(__STDC_LIMIT_MACROS) # clang and gcc don't default-print colored diagnostics when invoked from Ninja. if (UNIX AND diff --git a/llvm/cmake/modules/TensorFlowCompile.cmake b/llvm/cmake/modules/TensorFlowCompile.cmake --- a/llvm/cmake/modules/TensorFlowCompile.cmake +++ b/llvm/cmake/modules/TensorFlowCompile.cmake @@ -114,5 +114,5 @@ set(GeneratedMLSources ${GeneratedMLSources} ${GENERATED_OBJS} ${GENERATED_HEADERS} PARENT_SCOPE) set(MLDeps ${MLDeps} tf_xla_runtime PARENT_SCOPE) set(MLLinkDeps ${MLLinkDeps} tf_xla_runtime PARENT_SCOPE) - add_definitions(-DLLVM_HAVE_TF_AOT_${fname_allcaps}) + add_compile_definitions(LLVM_HAVE_TF_AOT_${fname_allcaps}) endfunction() diff --git a/llvm/lib/Support/BLAKE3/CMakeLists.txt b/llvm/lib/Support/BLAKE3/CMakeLists.txt --- a/llvm/lib/Support/BLAKE3/CMakeLists.txt +++ b/llvm/lib/Support/BLAKE3/CMakeLists.txt @@ -12,7 +12,7 @@ endif() macro(disable_blake3_x86_simd) - add_definitions(-DBLAKE3_NO_AVX512 -DBLAKE3_NO_AVX2 -DBLAKE3_NO_SSE41 -DBLAKE3_NO_SSE2) + add_compile_definitions(BLAKE3_NO_AVX512 BLAKE3_NO_AVX2 BLAKE3_NO_SSE41 BLAKE3_NO_SSE2) endmacro() # The BLAKE3 team recommends using the assembly versions, from the README: diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt --- a/llvm/lib/Support/CMakeLists.txt +++ b/llvm/lib/Support/CMakeLists.txt @@ -71,7 +71,7 @@ set(system_libs ${system_libs} zircon) endif() if ( HAIKU ) - add_definitions(-D_BSD_SOURCE) + add_compile_definitions(_BSD_SOURCE) set(system_libs ${system_libs} bsd) endif() endif( MSVC OR MINGW ) @@ -100,7 +100,7 @@ endif() if(LLVM_INTEGRATED_CRT_ALLOC MATCHES "rpmalloc$") - add_definitions(-DENABLE_OVERRIDE -DENABLE_PRELOAD) + add_compile_definitions(ENABLE_OVERRIDE ENABLE_PRELOAD) set(ALLOCATOR_FILES "${LLVM_INTEGRATED_CRT_ALLOC}/rpmalloc/rpmalloc.c") elseif(LLVM_INTEGRATED_CRT_ALLOC MATCHES "snmalloc$") set(ALLOCATOR_FILES "${LLVM_INTEGRATED_CRT_ALLOC}/src/snmalloc/override/new.cc") @@ -322,7 +322,7 @@ if(LLVM_INTEGRATED_CRT_ALLOC) if(LLVM_INTEGRATED_CRT_ALLOC MATCHES "snmalloc$") set_property(TARGET LLVMSupport PROPERTY CXX_STANDARD 17) - add_definitions(-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING) + add_compile_definitions(_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING) if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" AND "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64") set_property(TARGET LLVMSupport PROPERTY COMPILE_FLAGS "-mcx16") diff --git a/llvm/tools/llvm-config/CMakeLists.txt b/llvm/tools/llvm-config/CMakeLists.txt --- a/llvm/tools/llvm-config/CMakeLists.txt +++ b/llvm/tools/llvm-config/CMakeLists.txt @@ -80,7 +80,7 @@ configure_file(${BUILDVARIABLES_SRCPATH} ${BUILDVARIABLES_OBJPATH} @ONLY) # Set build-time environment(s). -add_definitions(-DCMAKE_CFG_INTDIR="${CMAKE_CFG_INTDIR}") +add_compile_definitions(CMAKE_CFG_INTDIR="${CMAKE_CFG_INTDIR}") if(LLVM_ENABLE_MODULES) target_compile_options(llvm-config PUBLIC