Browse Source

CMake: Suppress $(EFFECTIVE_PLATFORM_NAME).

Donny Lawrence 6 years ago
parent
commit
89bc83c48f

+ 8 - 6
CMakeLists.txt

@@ -10,6 +10,8 @@ unset(_version)
 
 
 enable_testing()
 enable_testing()
 
 
+string(REPLACE "$(EFFECTIVE_PLATFORM_NAME)" "" PANDA_CFG_INTDIR "${CMAKE_CFG_INTDIR}")
+
 # Add generic modules to cmake module path,
 # Add generic modules to cmake module path,
 # and add Panda3D specific 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/")
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
@@ -72,30 +74,30 @@ endif()
 if(BUILD_MODELS)
 if(BUILD_MODELS)
   run_pzip(models
   run_pzip(models
     "${CMAKE_CURRENT_SOURCE_DIR}/models/"
     "${CMAKE_CURRENT_SOURCE_DIR}/models/"
-    "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models"
+    "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models"
     *.egg)
     *.egg)
   run_pzip(dmodels
   run_pzip(dmodels
     "${CMAKE_CURRENT_SOURCE_DIR}/dmodels/src/"
     "${CMAKE_CURRENT_SOURCE_DIR}/dmodels/src/"
-    "${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/models"
+    "${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/models"
     *.egg)
     *.egg)
 
 
   add_custom_command(TARGET models
   add_custom_command(TARGET models
                      POST_BUILD
                      POST_BUILD
                      COMMAND ${CMAKE_COMMAND}
                      COMMAND ${CMAKE_COMMAND}
                              -DSOURCE="${CMAKE_CURRENT_SOURCE_DIR}/models/maps/"
                              -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
                              -P ${PROJECT_SOURCE_DIR}/cmake/scripts/CopyPattern.cmake
                      COMMENT "Copying models/maps")
                      COMMENT "Copying models/maps")
   add_custom_command(TARGET dmodels
   add_custom_command(TARGET dmodels
                      POST_BUILD
                      POST_BUILD
                      COMMAND ${CMAKE_COMMAND}
                      COMMAND ${CMAKE_COMMAND}
                              -DSOURCE="${CMAKE_CURRENT_SOURCE_DIR}/dmodels/src/"
                              -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"
                              -DFILES_MATCHING="PATTERN;*.rgb;PATTERN;*.png;PATTERN;*.jpg;PATTERN;*.wav"
                              -P ${PROJECT_SOURCE_DIR}/cmake/scripts/CopyPattern.cmake
                              -P ${PROJECT_SOURCE_DIR}/cmake/scripts/CopyPattern.cmake
                      COMMENT "Copying dmodels' assets")
                      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)
     COMPONENT Models DESTINATION share/panda3d)
 endif()
 endif()
 
 
@@ -104,7 +106,7 @@ if(INTERROGATE_PYTHON_INTERFACE)
   # for pytest before adding this test.  If the user doesn't have pytest, we'd
   # for pytest before adding this test.  If the user doesn't have pytest, we'd
   # like for the tests to fail.
   # like for the tests to fail.
 
 
-  if(CMAKE_CFG_INTDIR STREQUAL ".")
+  if(PANDA_CFG_INTDIR STREQUAL ".")
     set(_workdir "${PROJECT_BINARY_DIR}")
     set(_workdir "${PROJECT_BINARY_DIR}")
   else()
   else()
     set(_workdir "${PROJECT_BINARY_DIR}/$<CONFIG>")
     set(_workdir "${PROJECT_BINARY_DIR}/$<CONFIG>")

+ 6 - 6
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
   # Also store where the build files are kept, so the Interrogate output can go
   # there as well.
   # there as well.
   set_target_properties("${target}" PROPERTIES
   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)
 endfunction(target_interrogate)
 
 
@@ -313,7 +313,7 @@ function(add_python_module module)
     get_target_property(workdir_abs "${target}" TARGET_BINDIR)
     get_target_property(workdir_abs "${target}" TARGET_BINDIR)
     if(NOT workdir_abs)
     if(NOT workdir_abs)
       # No TARGET_BINDIR was set, so we'll just use our current directory:
       # 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()
     endif()
     # Keep command lines short
     # Keep command lines short
     file(RELATIVE_PATH workdir_rel "${CMAKE_CURRENT_BINARY_DIR}" "${workdir_abs}")
     file(RELATIVE_PATH workdir_rel "${CMAKE_CURRENT_BINARY_DIR}" "${workdir_abs}")
@@ -331,11 +331,11 @@ function(add_python_module module)
   endforeach(target)
   endforeach(target)
 
 
   add_custom_command(
   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
     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
     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}
       -module ${modname} -library ${modname}
       ${import_flags}
       ${import_flags}
       ${INTERROGATE_MODULE_OPTIONS}
       ${INTERROGATE_MODULE_OPTIONS}
@@ -344,7 +344,7 @@ function(add_python_module module)
     COMMENT "Generating module ${module}")
     COMMENT "Generating module ${module}")
 
 
   add_python_target(${module} COMPONENT "${component}" EXPORT "${component}"
   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})
     ${sources_abs} ${extensions})
   target_link_libraries(${module} ${link_targets})
   target_link_libraries(${module} ${link_targets})
 
 

+ 3 - 3
cmake/macros/Python.cmake

@@ -53,9 +53,9 @@ function(add_python_target target)
   if(BUILD_SHARED_LIBS)
   if(BUILD_SHARED_LIBS)
     if(CMAKE_GENERATOR STREQUAL "Xcode")
     if(CMAKE_GENERATOR STREQUAL "Xcode")
       # This is explained in CompilerFlags.cmake
       # This is explained in CompilerFlags.cmake
-      set(intdir $<CONFIG>$(EFFECTIVE_PLATFORM_NAME))
+      set(intdir $<CONFIG>)
     else()
     else()
-      set(intdir ${CMAKE_CFG_INTDIR})
+      set(intdir ${PANDA_CFG_INTDIR})
     endif()
     endif()
 
 
     set(_outdir "${PROJECT_BINARY_DIR}/${intdir}/${slash_namespace}")
     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")
     set(src_path "${CMAKE_SOURCE_DIR}/cmake/templates/win32_python")
   endif()
   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}")
   set(args -D "OUTPUT_DIR=${path}")
   if(src_path)
   if(src_path)

+ 3 - 3
dtool/CompilerFlags.cmake

@@ -33,9 +33,9 @@ set(CMAKE_BINARY_DIR "${CMAKE_BINARY_DIR}/cmake")
 if(CMAKE_GENERATOR STREQUAL "Xcode")
 if(CMAKE_GENERATOR STREQUAL "Xcode")
   # On the Xcode generator, CMake generates a separate make target definition for
   # 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.
   # every config, so it ends up spamming warnings once we try to build.
-  set(intdir $<CONFIG>$(EFFECTIVE_PLATFORM_NAME))
+  set(intdir $<CONFIG>)
 else()
 else()
-  set(intdir ${CMAKE_CFG_INTDIR})
+  set(intdir ${PANDA_CFG_INTDIR})
 endif()
 endif()
 
 
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${intdir}/bin")
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/${intdir}/bin")
@@ -54,7 +54,7 @@ if(WIN32)
   set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
   set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
 
 
   # On Windows, modules (DLLs) are located in bin; lib is just for .lib files
   # 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)
   if(BUILD_SHARED_LIBS)
     set(MODULE_DESTINATION "bin")
     set(MODULE_DESTINATION "bin")
   endif()
   endif()

+ 1 - 1
dtool/LocalSetup.cmake

@@ -185,7 +185,7 @@ message("See dtool_config.h for more details about the specified configuration."
 message("")
 message("")
 
 
 # Generate dtool_config.h
 # Generate dtool_config.h
-if("${CMAKE_CFG_INTDIR}" STREQUAL ".")
+if("${PANDA_CFG_INTDIR}" STREQUAL ".")
   # Single-configuration generator
   # Single-configuration generator
   set(intdir ".")
   set(intdir ".")
 else()
 else()

+ 1 - 1
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
 # Help other libraries find the autogenerated headers
 target_include_directories(p3dtoolbase PUBLIC
 target_include_directories(p3dtoolbase PUBLIC
   $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
   $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
-  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include>)
+  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/${PANDA_CFG_INTDIR}/include>)
 target_link_libraries(p3dtoolbase PKG::EIGEN PKG::THREADS)
 target_link_libraries(p3dtoolbase PKG::EIGEN PKG::THREADS)
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})
 target_interrogate(p3dtoolbase ${P3DTOOLBASE_SOURCES} EXTENSIONS ${P3DTOOLBASE_IGATEEXT})