CMake: Use string/list(APPEND foo ...) instead of set(foo ${foo} ...)

This commit is contained in:
Sam Edwards 2019-01-19 17:01:36 -07:00
parent 8c4dfd7a70
commit d961514892
5 changed files with 26 additions and 26 deletions

View File

@ -21,9 +21,9 @@ function(add_bison_target output_cxx input_yxx)
set(keyword "PREFIX") set(keyword "PREFIX")
elseif(keyword STREQUAL "PREFIX") elseif(keyword STREQUAL "PREFIX")
set(arguments ${arguments} -p "${arg}") list(APPEND arguments -p "${arg}")
elseif(keyword STREQUAL "DEFINES") elseif(keyword STREQUAL "DEFINES")
set(arguments ${arguments} --defines="${arg}") list(APPEND arguments --defines="${arg}")
list(APPEND outputs "${arg}") list(APPEND outputs "${arg}")
else() else()
@ -61,7 +61,7 @@ function(add_bison_target output_cxx input_yxx)
endif() endif()
list(APPEND depends "${prebuilt_file}") 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() endforeach()
add_custom_command( add_custom_command(

View File

@ -20,12 +20,12 @@ function(add_flex_target output_cxx input_lxx)
elseif(arg STREQUAL "PREFIX") elseif(arg STREQUAL "PREFIX")
set(keyword "PREFIX") set(keyword "PREFIX")
elseif(arg STREQUAL "CASE_INSENSITIVE") elseif(arg STREQUAL "CASE_INSENSITIVE")
set(arguments ${arguments} -i) list(APPEND arguments -i)
elseif(keyword STREQUAL "PREFIX") elseif(keyword STREQUAL "PREFIX")
set(arguments ${arguments} -P "${arg}") list(APPEND arguments -P "${arg}")
elseif(keyword STREQUAL "DEFINES") elseif(keyword STREQUAL "DEFINES")
set(arguments ${arguments} --header-file="${arg}") list(APPEND arguments --header-file="${arg}")
list(APPEND outputs "${arg}") list(APPEND outputs "${arg}")
else() else()
@ -63,7 +63,7 @@ function(add_flex_target output_cxx input_lxx)
endif() endif()
list(APPEND depends "${prebuilt_file}") 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() endforeach()
add_custom_command( add_custom_command(

View File

@ -288,10 +288,10 @@ function(export_packages filename)
set(exports "# Exports for Panda3D PKG:: packages\n") set(exports "# Exports for Panda3D PKG:: packages\n")
foreach(pkg ${_ALL_PACKAGE_OPTIONS}) foreach(pkg ${_ALL_PACKAGE_OPTIONS})
set(exports "${exports}\n# Create imported target PKG::${pkg}\n") string(APPEND exports "\n# Create imported target PKG::${pkg}\n")
set(exports "${exports}add_library(PKG::${pkg} INTERFACE IMPORTED)\n\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 foreach(prop
INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_DEFINITIONS
INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_FEATURES
@ -304,7 +304,7 @@ function(export_packages filename)
#INTERFACE_SYSTEM_INCLUDE_DIRECTORIES # Let the consumer dictate this #INTERFACE_SYSTEM_INCLUDE_DIRECTORIES # Let the consumer dictate this
INTERFACE_SOURCES) INTERFACE_SOURCES)
set(prop_ex "$<TARGET_PROPERTY:PKG::${pkg},${prop}>") set(prop_ex "$<TARGET_PROPERTY:PKG::${pkg},${prop}>")
set(exports "${exports}$<$<BOOL:${prop_ex}>: ${prop} \"${prop_ex}\"\n>") string(APPEND exports "$<$<BOOL:${prop_ex}>: ${prop} \"${prop_ex}\"\n>")
endforeach(prop) endforeach(prop)
# Ugh, INTERFACE_LINK_LIBRARIES isn't transitive. Fine. Take care of it # Ugh, INTERFACE_LINK_LIBRARIES isn't transitive. Fine. Take care of it
@ -382,9 +382,9 @@ function(export_packages filename)
endif() endif()
endwhile(stack) 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) endforeach(pkg)
file(GENERATE OUTPUT "${filename}" CONTENT "${exports}") file(GENERATE OUTPUT "${filename}" CONTENT "${exports}")

View File

@ -122,7 +122,7 @@ if(NOT CG_LIBRARY_DIR OR NOT CG_INCLUDE_DIRS)
cmake_find_frameworks(Cg) cmake_find_frameworks(Cg)
if(Cg_FRAMEWORKS) if(Cg_FRAMEWORKS)
foreach(dir ${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) endforeach(dir)
unset(Cg_FRAMEWORKS) unset(Cg_FRAMEWORKS)

View File

@ -13,9 +13,9 @@ include(CheckCXXCompilerFlag)
if(CMAKE_VERSION VERSION_LESS "3.1") if(CMAKE_VERSION VERSION_LESS "3.1")
check_cxx_compiler_flag("-std=gnu++11" COMPILER_SUPPORTS_CXX11) check_cxx_compiler_flag("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
if(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() else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") string(APPEND CMAKE_CXX_FLAGS " -std=gnu++0x")
endif() endif()
else() else()
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
@ -50,23 +50,23 @@ endif()
# Set warning levels # Set warning levels
if(MSVC) if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") string(APPEND CMAKE_C_FLAGS " /W3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") string(APPEND CMAKE_CXX_FLAGS " /W3")
else() else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") string(APPEND CMAKE_C_FLAGS " -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") string(APPEND CMAKE_CXX_FLAGS " -Wall")
endif() endif()
if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC") if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
set(disable_flags "-Wno-unused-function -Wno-unused-parameter") set(disable_flags "-Wno-unused-function -Wno-unused-parameter")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${disable_flags}") string(APPEND CMAKE_C_FLAGS " ${disable_flags}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${disable_flags} -Wno-reorder") string(APPEND CMAKE_CXX_FLAGS " ${disable_flags} -Wno-reorder")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-unused-variable") string(APPEND CMAKE_CXX_FLAGS_RELEASE " -Wno-unused-variable")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Wno-unused-variable") string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " -Wno-unused-variable")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Wno-unused-variable") string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL " -Wno-unused-variable")
if(MSVC) if(MSVC)
# Clang behaving as 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 set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -Wno-microsoft-template -Wno-unused-command-line-argument") "${CMAKE_CXX_FLAGS} -Wno-microsoft-template -Wno-unused-command-line-argument")
endif() endif()