diff --git a/cmake/macros/AddBisonTarget.cmake b/cmake/macros/AddBisonTarget.cmake index 45278db7de..820f78ab56 100644 --- a/cmake/macros/AddBisonTarget.cmake +++ b/cmake/macros/AddBisonTarget.cmake @@ -21,9 +21,9 @@ function(add_bison_target output_cxx input_yxx) set(keyword "PREFIX") elseif(keyword STREQUAL "PREFIX") - set(arguments ${arguments} -p "${arg}") + list(APPEND arguments -p "${arg}") elseif(keyword STREQUAL "DEFINES") - set(arguments ${arguments} --defines="${arg}") + list(APPEND arguments --defines="${arg}") list(APPEND outputs "${arg}") else() @@ -61,7 +61,7 @@ function(add_bison_target output_cxx input_yxx) endif() list(APPEND depends "${prebuilt_file}") - set(commands ${commands} COMMAND ${CMAKE_COMMAND} -E copy ${prebuilt_file} ${output}) + list(APPEND commands COMMAND ${CMAKE_COMMAND} -E copy ${prebuilt_file} ${output}) endforeach() add_custom_command( diff --git a/cmake/macros/AddFlexTarget.cmake b/cmake/macros/AddFlexTarget.cmake index 1df75d5859..d85d4875c7 100644 --- a/cmake/macros/AddFlexTarget.cmake +++ b/cmake/macros/AddFlexTarget.cmake @@ -20,12 +20,12 @@ function(add_flex_target output_cxx input_lxx) elseif(arg STREQUAL "PREFIX") set(keyword "PREFIX") elseif(arg STREQUAL "CASE_INSENSITIVE") - set(arguments ${arguments} -i) + list(APPEND arguments -i) elseif(keyword STREQUAL "PREFIX") - set(arguments ${arguments} -P "${arg}") + list(APPEND arguments -P "${arg}") elseif(keyword STREQUAL "DEFINES") - set(arguments ${arguments} --header-file="${arg}") + list(APPEND arguments --header-file="${arg}") list(APPEND outputs "${arg}") else() @@ -63,7 +63,7 @@ function(add_flex_target output_cxx input_lxx) endif() list(APPEND depends "${prebuilt_file}") - set(commands ${commands} COMMAND ${CMAKE_COMMAND} -E copy ${prebuilt_file} ${output}) + list(APPEND commands COMMAND ${CMAKE_COMMAND} -E copy ${prebuilt_file} ${output}) endforeach() add_custom_command( diff --git a/cmake/macros/PackageConfig.cmake b/cmake/macros/PackageConfig.cmake index 975ccc4559..3c200438b1 100644 --- a/cmake/macros/PackageConfig.cmake +++ b/cmake/macros/PackageConfig.cmake @@ -288,10 +288,10 @@ function(export_packages filename) set(exports "# Exports for Panda3D PKG:: packages\n") foreach(pkg ${_ALL_PACKAGE_OPTIONS}) - set(exports "${exports}\n# Create imported target PKG::${pkg}\n") - set(exports "${exports}add_library(PKG::${pkg} INTERFACE IMPORTED)\n\n") + string(APPEND exports "\n# Create imported target PKG::${pkg}\n") + string(APPEND exports "add_library(PKG::${pkg} INTERFACE IMPORTED)\n\n") - set(exports "${exports}set_target_properties(PKG::${pkg} PROPERTIES\n") + string(APPEND exports "set_target_properties(PKG::${pkg} PROPERTIES\n") foreach(prop INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES @@ -304,7 +304,7 @@ function(export_packages filename) #INTERFACE_SYSTEM_INCLUDE_DIRECTORIES # Let the consumer dictate this INTERFACE_SOURCES) set(prop_ex "$") - set(exports "${exports}$<$: ${prop} \"${prop_ex}\"\n>") + string(APPEND exports "$<$: ${prop} \"${prop_ex}\"\n>") endforeach(prop) # Ugh, INTERFACE_LINK_LIBRARIES isn't transitive. Fine. Take care of it @@ -382,9 +382,9 @@ function(export_packages filename) endif() endwhile(stack) - set(exports "${exports} INTERFACE_LINK_LIBRARIES \"${libraries}\"\n") + string(APPEND exports " INTERFACE_LINK_LIBRARIES \"${libraries}\"\n") - set(exports "${exports})\n") + string(APPEND exports ")\n") endforeach(pkg) file(GENERATE OUTPUT "${filename}" CONTENT "${exports}") diff --git a/cmake/modules/FindCg.cmake b/cmake/modules/FindCg.cmake index b48904b2ba..3df0a7fd58 100644 --- a/cmake/modules/FindCg.cmake +++ b/cmake/modules/FindCg.cmake @@ -122,7 +122,7 @@ if(NOT CG_LIBRARY_DIR OR NOT CG_INCLUDE_DIRS) cmake_find_frameworks(Cg) if(Cg_FRAMEWORKS) foreach(dir ${Cg_FRAMEWORKS}) - set(CG_INCLUDES ${CG_INCLUDES} ${dir}/Headers ${dir}/PrivateHeaders) + list(APPEND CG_INCLUDES ${dir}/Headers ${dir}/PrivateHeaders) endforeach(dir) unset(Cg_FRAMEWORKS) diff --git a/dtool/CompilerFlags.cmake b/dtool/CompilerFlags.cmake index dd7cfd8d6f..114c824a0b 100644 --- a/dtool/CompilerFlags.cmake +++ b/dtool/CompilerFlags.cmake @@ -13,9 +13,9 @@ include(CheckCXXCompilerFlag) if(CMAKE_VERSION VERSION_LESS "3.1") check_cxx_compiler_flag("-std=gnu++11" COMPILER_SUPPORTS_CXX11) if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") + string(APPEND CMAKE_CXX_FLAGS " -std=gnu++11") else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") + string(APPEND CMAKE_CXX_FLAGS " -std=gnu++0x") endif() else() set(CMAKE_CXX_STANDARD 11) @@ -50,23 +50,23 @@ endif() # Set warning levels if(MSVC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") + string(APPEND CMAKE_C_FLAGS " /W3") + string(APPEND CMAKE_CXX_FLAGS " /W3") else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + string(APPEND CMAKE_C_FLAGS " -Wall") + string(APPEND CMAKE_CXX_FLAGS " -Wall") endif() if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC") set(disable_flags "-Wno-unused-function -Wno-unused-parameter") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${disable_flags}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${disable_flags} -Wno-reorder") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-unused-variable") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Wno-unused-variable") - set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Wno-unused-variable") + string(APPEND CMAKE_C_FLAGS " ${disable_flags}") + string(APPEND CMAKE_CXX_FLAGS " ${disable_flags} -Wno-reorder") + string(APPEND CMAKE_CXX_FLAGS_RELEASE " -Wno-unused-variable") + string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " -Wno-unused-variable") + string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL " -Wno-unused-variable") if(MSVC) # Clang behaving as MSVC - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-command-line-argument") + string(APPEND CMAKE_C_FLAGS " -Wno-unused-command-line-argument") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-microsoft-template -Wno-unused-command-line-argument") endif()