Browse Source

CMake: use the CMAKE_FOLDER variable instead of FOLDER property.

It limits the support for CMake 3.12+, but it's much less verbose and I
don't expect people to use ancient CMake versions with IDEs like Xcode
or VS anyway, so this should be fine.
pull/15/head
Vladimír Vondruš 4 years ago
parent
commit
d2f5ea43d5
  1. 5
      src/Corrade/CMakeLists.txt
  2. 1
      src/Corrade/Containers/CMakeLists.txt
  3. 5
      src/Magnum/CMakeLists.txt
  4. 1
      src/Magnum/GL/CMakeLists.txt
  5. 1
      src/Magnum/SceneGraph/CMakeLists.txt
  6. 7
      src/python/corrade/CMakeLists.txt
  7. 8
      src/python/corrade/test/CMakeLists.txt
  8. 11
      src/python/magnum/CMakeLists.txt
  9. 5
      src/python/magnum/platform/CMakeLists.txt

5
src/Corrade/CMakeLists.txt

@ -23,9 +23,12 @@
# DEALINGS IN THE SOFTWARE.
#
# IDE folder in VS, Xcode etc. CMake 3.12+, older versions have only the FOLDER
# property that would have to be set on each target separately.
set(CMAKE_FOLDER "Corrade/Python")
if(WITH_PYTHON)
add_custom_target(CorradePython SOURCES PythonBindings.h)
set_target_properties(CorradePython PROPERTIES FOLDER "Corrade/Python")
install(FILES PythonBindings.h DESTINATION ${CORRADE_INCLUDE_INSTALL_DIR})
add_subdirectory(Containers)

1
src/Corrade/Containers/CMakeLists.txt

@ -30,6 +30,5 @@ if(WITH_PYTHON)
StridedArrayViewPythonBindings.h)
add_custom_target(CorradeContainersPython SOURCES ${CorradeContainersPython_HEADERS})
set_target_properties(CorradeContainersPython PROPERTIES FOLDER "Corrade/Python")
install(FILES ${CorradeContainersPython_HEADERS} DESTINATION ${CORRADE_INCLUDE_INSTALL_DIR}/Containers)
endif()

5
src/Magnum/CMakeLists.txt

@ -23,6 +23,10 @@
# DEALINGS IN THE SOFTWARE.
#
# IDE folder in VS, Xcode etc. CMake 3.12+, older versions have only the FOLDER
# property that would have to be set on each target separately.
set(CMAKE_FOLDER "Magnum/Python")
# Generate version header. If Git is found and this is a Git working copy,
# extract values from there, otherwise use just MAGNUMBINDINGS_VERSION_YEAR /
# MONTH that are set in project root CMakeLists.
@ -55,7 +59,6 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/versionBindings.h DESTINATION ${MAGNUM
if(WITH_PYTHON)
add_custom_target(MagnumPython SOURCES PythonBindings.h)
set_target_properties(MagnumPython PROPERTIES FOLDER "Magnum/Python")
install(FILES PythonBindings.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR})
endif()

1
src/Magnum/GL/CMakeLists.txt

@ -25,6 +25,5 @@
if(WITH_PYTHON)
add_custom_target(MagnumGLPython SOURCES PythonBindings.h)
set_target_properties(MagnumGLPython PROPERTIES FOLDER "Magnum/Python")
install(FILES PythonBindings.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/GL)
endif()

1
src/Magnum/SceneGraph/CMakeLists.txt

@ -25,6 +25,5 @@
if(WITH_PYTHON)
add_custom_target(MagnumSceneGraphPython SOURCES PythonBindings.h)
set_target_properties(MagnumSceneGraphPython PROPERTIES FOLDER "Magnum/Python")
install(FILES PythonBindings.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/SceneGraph)
endif()

7
src/python/corrade/CMakeLists.txt

@ -23,6 +23,10 @@
# DEALINGS IN THE SOFTWARE.
#
# IDE folder in VS, Xcode etc. CMake 3.12+, older versions have only the FOLDER
# property that would have to be set on each target separately.
set(CMAKE_FOLDER "Corrade/Python")
# *Not* REQUIRED
find_package(Corrade COMPONENTS
PluginManager)
@ -50,7 +54,6 @@ if(NOT CORRADE_BUILD_STATIC)
Corrade::Containers
Corrade::Utility)
set_target_properties(corrade_containers PROPERTIES
FOLDER "python/corrade"
OUTPUT_NAME "containers"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/corrade)
@ -62,7 +65,6 @@ if(NOT CORRADE_BUILD_STATIC)
target_link_libraries(corrade_pluginmanager PRIVATE
Corrade::PluginManager)
set_target_properties(corrade_pluginmanager PROPERTIES
FOLDER "python/corrade"
OUTPUT_NAME "pluginmanager"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/corrade)
endif()
@ -90,7 +92,6 @@ target_include_directories(corrade PRIVATE
${PROJECT_BINARY_DIR}/src/python) # for static build
target_link_libraries(corrade PRIVATE Corrade::Utility ${corrade_LIBS})
set_target_properties(corrade PROPERTIES
FOLDER "python"
OUTPUT_NAME "_corrade"
LIBRARY_OUTPUT_DIRECTORY ${output_dir})

8
src/python/corrade/test/CMakeLists.txt

@ -23,11 +23,13 @@
# DEALINGS IN THE SOFTWARE.
#
# IDE folder in VS, Xcode etc. CMake 3.12+, older versions have only the FOLDER
# property that would have to be set on each target separately.
set(CMAKE_FOLDER "Corrade/Python/Test")
foreach(_test optional stridedarrayview)
pybind11_add_module(test_${_test} ${pybind11_add_module_SYSTEM} test_${_test}.cpp)
target_include_directories(test_${_test} PRIVATE ${PROJECT_SOURCE_DIR}/src)
target_link_libraries(test_${_test} PRIVATE Corrade::Containers)
set_target_properties(test_${_test} PROPERTIES
FOLDER "python"
LIBRARY_OUTPUT_DIRECTORY ${output_dir})
set_target_properties(test_${_test} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${output_dir})
endforeach()

11
src/python/magnum/CMakeLists.txt

@ -23,6 +23,10 @@
# DEALINGS IN THE SOFTWARE.
#
# IDE folder in VS, Xcode etc. CMake 3.12+, older versions have only the FOLDER
# property that would have to be set on each target separately.
set(CMAKE_FOLDER "Magnum/Python")
# *Not* REQUIRED
find_package(Magnum COMPONENTS
GL
@ -89,7 +93,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_gl PRIVATE Magnum::GL)
set_target_properties(magnum_gl PROPERTIES
FOLDER "python"
OUTPUT_NAME "gl"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -99,7 +102,6 @@ if(NOT MAGNUM_BUILD_STATIC)
target_include_directories(magnum_meshtools PRIVATE ${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_meshtools PRIVATE Magnum::MeshTools)
set_target_properties(magnum_meshtools PROPERTIES
FOLDER "python"
OUTPUT_NAME "meshtools"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -109,7 +111,6 @@ if(NOT MAGNUM_BUILD_STATIC)
target_include_directories(magnum_primitives PRIVATE ${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_primitives PRIVATE Magnum::Primitives)
set_target_properties(magnum_primitives PROPERTIES
FOLDER "python"
OUTPUT_NAME "primitives"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -121,7 +122,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_scenegraph PRIVATE Magnum::SceneGraph)
set_target_properties(magnum_scenegraph PROPERTIES
FOLDER "python"
OUTPUT_NAME "scenegraph"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -133,7 +133,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_shaders PRIVATE Magnum::Shaders)
set_target_properties(magnum_shaders PROPERTIES
FOLDER "python"
OUTPUT_NAME "shaders"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -145,7 +144,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src/python)
target_link_libraries(magnum_trade PRIVATE Magnum::Trade)
set_target_properties(magnum_trade PROPERTIES
FOLDER "python"
OUTPUT_NAME "trade"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum)
endif()
@ -220,7 +218,6 @@ target_include_directories(magnum PRIVATE
${PROJECT_BINARY_DIR}/src/python) # for static build
target_link_libraries(magnum PRIVATE Magnum::Magnum ${magnum_LIBS})
set_target_properties(magnum PROPERTIES
FOLDER "python"
OUTPUT_NAME "_magnum"
LIBRARY_OUTPUT_DIRECTORY ${output_dir})

5
src/python/magnum/platform/CMakeLists.txt

@ -31,7 +31,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/src/python)
set_target_properties(magnum_platform_glfw PROPERTIES
FOLDER "python/platform"
OUTPUT_NAME "glfw"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum/platform)
endif()
@ -43,7 +42,6 @@ if(NOT MAGNUM_BUILD_STATIC)
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/src/python)
set_target_properties(magnum_platform_sdl2 PROPERTIES
FOLDER "python/platform"
OUTPUT_NAME "sdl2"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum/platform)
endif()
@ -53,7 +51,6 @@ if(NOT MAGNUM_BUILD_STATIC)
target_link_libraries(magnum_platform_egl PRIVATE Magnum::WindowlessEglApplication)
target_include_directories(magnum_platform_egl PRIVATE ${PROJECT_SOURCE_DIR}/src/python)
set_target_properties(magnum_platform_egl PROPERTIES
FOLDER "python/platform"
OUTPUT_NAME "egl"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum/platform)
endif()
@ -63,7 +60,6 @@ if(NOT MAGNUM_BUILD_STATIC)
target_link_libraries(magnum_platform_glx PRIVATE Magnum::WindowlessGlxApplication)
target_include_directories(magnum_platform_glx PRIVATE ${PROJECT_SOURCE_DIR}/src/python)
set_target_properties(magnum_platform_glx PROPERTIES
FOLDER "python/platform"
OUTPUT_NAME "glx"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum/platform)
endif()
@ -73,7 +69,6 @@ if(NOT MAGNUM_BUILD_STATIC)
target_link_libraries(magnum_platform_wgl PRIVATE Magnum::WindowlessWglApplication)
target_include_directories(magnum_platform_wgl PRIVATE ${PROJECT_SOURCE_DIR}/src/python)
set_target_properties(magnum_platform_wgl PROPERTIES
FOLDER "python/platform"
OUTPUT_NAME "wgl"
LIBRARY_OUTPUT_DIRECTORY ${output_dir}/magnum/platform)
endif()

Loading…
Cancel
Save