diff --git a/CMakeLists.txt b/CMakeLists.txt index c576dcfac7..bf07746e62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,8 @@ unset(_version) enable_testing() +string(REPLACE "$(EFFECTIVE_PLATFORM_NAME)" "" PANDA_CFG_INTDIR "${CMAKE_CFG_INTDIR}") + # Add generic modules to cmake module path, # and add Panda3D specific modules to cmake module path set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") @@ -72,30 +74,30 @@ endif() if(BUILD_MODELS) run_pzip(models "${CMAKE_CURRENT_SOURCE_DIR}/models/" - "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models" + "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models" *.egg) run_pzip(dmodels "${CMAKE_CURRENT_SOURCE_DIR}/dmodels/src/" - "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models" + "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models" *.egg) add_custom_command(TARGET models POST_BUILD COMMAND ${CMAKE_COMMAND} -DSOURCE="${CMAKE_CURRENT_SOURCE_DIR}/models/maps/" - -DDESTINATION="${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models/maps" + -DDESTINATION="${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models/maps" -P ${PROJECT_SOURCE_DIR}/cmake/scripts/CopyPattern.cmake COMMENT "Copying models/maps") add_custom_command(TARGET dmodels POST_BUILD COMMAND ${CMAKE_COMMAND} -DSOURCE="${CMAKE_CURRENT_SOURCE_DIR}/dmodels/src/" - -DDESTINATION="${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models" + -DDESTINATION="${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models" -DFILES_MATCHING="PATTERN;*.rgb;PATTERN;*.png;PATTERN;*.jpg;PATTERN;*.wav" -P ${PROJECT_SOURCE_DIR}/cmake/scripts/CopyPattern.cmake COMMENT "Copying dmodels' assets") - install(DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models" + install(DIRECTORY "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models" COMPONENT Models DESTINATION share/panda3d) endif() @@ -104,7 +106,7 @@ if(INTERROGATE_PYTHON_INTERFACE) # for pytest before adding this test. If the user doesn't have pytest, we'd # like for the tests to fail. - if(CMAKE_CFG_INTDIR STREQUAL ".") + if(PANDA_CFG_INTDIR STREQUAL ".") set(_workdir "${PROJECT_BINARY_DIR}") else() set(_workdir "${PROJECT_BINARY_DIR}/$") diff --git a/cmake/macros/Interrogate.cmake b/cmake/macros/Interrogate.cmake index c50eabcecd..7d646f5045 100644 --- a/cmake/macros/Interrogate.cmake +++ b/cmake/macros/Interrogate.cmake @@ -113,7 +113,7 @@ function(target_interrogate target) # Also store where the build files are kept, so the Interrogate output can go # there as well. set_target_properties("${target}" PROPERTIES - TARGET_BINDIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") + TARGET_BINDIR "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}") endfunction(target_interrogate) @@ -313,7 +313,7 @@ function(add_python_module module) get_target_property(workdir_abs "${target}" TARGET_BINDIR) if(NOT workdir_abs) # No TARGET_BINDIR was set, so we'll just use our current directory: - set(workdir_abs "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") + set(workdir_abs "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}") endif() # Keep command lines short file(RELATIVE_PATH workdir_rel "${CMAKE_CURRENT_BINARY_DIR}" "${workdir_abs}") @@ -331,11 +331,11 @@ function(add_python_module module) endforeach(target) add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${module}_module.cxx" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}/${module}_module.cxx" COMMAND ${CMAKE_COMMAND} -E - make_directory "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}" + make_directory "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}" COMMAND host_interrogate_module - -oc "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${module}_module.cxx" + -oc "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}/${module}_module.cxx" -module ${modname} -library ${modname} ${import_flags} ${INTERROGATE_MODULE_OPTIONS} @@ -344,7 +344,7 @@ function(add_python_module module) COMMENT "Generating module ${module}") add_python_target(${module} COMPONENT "${component}" EXPORT "${component}" - "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${module}_module.cxx" + "${CMAKE_CURRENT_BINARY_DIR}/${PANDA_CFG_INTDIR}/${module}_module.cxx" ${sources_abs} ${extensions}) target_link_libraries(${module} ${link_targets}) diff --git a/cmake/macros/Python.cmake b/cmake/macros/Python.cmake index 959e24c861..9c01024e01 100644 --- a/cmake/macros/Python.cmake +++ b/cmake/macros/Python.cmake @@ -53,9 +53,9 @@ function(add_python_target target) if(BUILD_SHARED_LIBS) if(CMAKE_GENERATOR STREQUAL "Xcode") # This is explained in CompilerFlags.cmake - set(intdir $$(EFFECTIVE_PLATFORM_NAME)) + set(intdir $) else() - set(intdir ${CMAKE_CFG_INTDIR}) + set(intdir ${PANDA_CFG_INTDIR}) endif() set(_outdir "${PROJECT_BINARY_DIR}/${intdir}/${slash_namespace}") @@ -146,7 +146,7 @@ function(install_python_package package_name) set(src_path "${CMAKE_SOURCE_DIR}/cmake/templates/win32_python") endif() - set(path "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${package_name}") + set(path "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/${package_name}") set(args -D "OUTPUT_DIR=${path}") if(src_path) diff --git a/dtool/CompilerFlags.cmake b/dtool/CompilerFlags.cmake index ba8e5a829d..f22284b39b 100644 --- a/dtool/CompilerFlags.cmake +++ b/dtool/CompilerFlags.cmake @@ -33,9 +33,9 @@ set(CMAKE_BINARY_DIR "${CMAKE_BINARY_DIR}/cmake") if(CMAKE_GENERATOR STREQUAL "Xcode") # On the Xcode generator, CMake generates a separate make target definition for # every config, so it ends up spamming warnings once we try to build. - set(intdir $$(EFFECTIVE_PLATFORM_NAME)) + set(intdir $) else() - set(intdir ${CMAKE_CFG_INTDIR}) + set(intdir ${PANDA_CFG_INTDIR}) endif() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${intdir}/bin") @@ -54,7 +54,7 @@ if(WIN32) set(CMAKE_STATIC_LIBRARY_PREFIX "lib") # On Windows, modules (DLLs) are located in bin; lib is just for .lib files - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin") + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/bin") if(BUILD_SHARED_LIBS) set(MODULE_DESTINATION "bin") endif() diff --git a/dtool/LocalSetup.cmake b/dtool/LocalSetup.cmake index ed2df723c7..f11edfa4b0 100644 --- a/dtool/LocalSetup.cmake +++ b/dtool/LocalSetup.cmake @@ -185,7 +185,7 @@ message("See dtool_config.h for more details about the specified configuration." message("") # Generate dtool_config.h -if("${CMAKE_CFG_INTDIR}" STREQUAL ".") +if("${PANDA_CFG_INTDIR}" STREQUAL ".") # Single-configuration generator set(intdir ".") else() diff --git a/dtool/src/dtoolbase/CMakeLists.txt b/dtool/src/dtoolbase/CMakeLists.txt index be2cc44394..e2bfc81b90 100644 --- a/dtool/src/dtoolbase/CMakeLists.txt +++ b/dtool/src/dtoolbase/CMakeLists.txt @@ -91,7 +91,7 @@ add_component_library(p3dtoolbase NOINIT SYMBOL BUILDING_DTOOL_DTOOLBASE # Help other libraries find the autogenerated headers target_include_directories(p3dtoolbase PUBLIC $ - $) + $) target_link_libraries(p3dtoolbase PKG::EIGEN PKG::THREADS) target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})