From 20db4115b865f06732069a492bd3ab6afd818770 Mon Sep 17 00:00:00 2001 From: Donny Lawrence Date: Wed, 5 Jun 2019 13:27:46 -0500 Subject: [PATCH] CMake: Add temporary solution for generating dtool_config.h Eventually, we'll want to customize dtool_config.h based on the configuration being used, but this should be good enough for now. --- CMakeLists.txt | 6 ++++++ dtool/LocalSetup.cmake | 9 ++++++++- panda/src/configfiles/CMakeLists.txt | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ec2e26ce9..c576dcfac7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,12 @@ enable_testing() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/macros/") +if(CMAKE_VERSION VERSION_GREATER "3.8") + # When using the Xcode generator, don't append the platform name to the + # intermediate configuration directory. + set_property(GLOBAL PROPERTY XCODE_EMIT_EFFECTIVE_PLATFORM_NAME OFF) +endif() + # Include global modules needed for configure scripts include(PackageConfig) # Defines package_option diff --git a/dtool/LocalSetup.cmake b/dtool/LocalSetup.cmake index aa0b5f2dad..ed2df723c7 100644 --- a/dtool/LocalSetup.cmake +++ b/dtool/LocalSetup.cmake @@ -193,7 +193,14 @@ else() set(intdir "${CMAKE_BUILD_TYPE}") endif() -configure_file(dtool_config.h.in "${PROJECT_BINARY_DIR}/${intdir}/include/dtool_config.h") +configure_file(dtool_config.h.in "${PROJECT_BINARY_DIR}/include/dtool_config.h") + +# TODO: Add the ability to customize dtool_config.h based on configuration. +if(IS_MULTICONFIG) + file(GENERATE OUTPUT "${PROJECT_BINARY_DIR}/$/include/dtool_config.h" + INPUT "${PROJECT_BINARY_DIR}/include/dtool_config.h") +endif() + install(FILES "${PROJECT_BINARY_DIR}/${intdir}/include/dtool_config.h" COMPONENT CoreDevel DESTINATION include/panda3d) diff --git a/panda/src/configfiles/CMakeLists.txt b/panda/src/configfiles/CMakeLists.txt index 7fa2db7a41..101ed67556 100644 --- a/panda/src/configfiles/CMakeLists.txt +++ b/panda/src/configfiles/CMakeLists.txt @@ -24,5 +24,9 @@ else() endif() configure_file(panda.prc.in "${CMAKE_BINARY_DIR}/etc/20_panda.prc") +if(IS_MULTICONFIG) + file(GENERATE OUTPUT "${PROJECT_BINARY_DIR}/$/etc/20_panda.prc" + INPUT "${PROJECT_BINARY_DIR}/etc/20_panda.prc") +endif() install(FILES "${CMAKE_BINARY_DIR}/etc/20_panda.prc" COMPONENT Core DESTINATION etc)