Browse Source

Display all headers in project view of IDEs.

Finally makes development with QtCreator usable.
pull/68/head
Vladimír Vondruš 12 years ago
parent
commit
217b53ceb2
  1. 4
      src/Magnum/Audio/CMakeLists.txt
  2. 15
      src/Magnum/CMakeLists.txt
  3. 21
      src/Magnum/DebugTools/CMakeLists.txt
  4. 3
      src/Magnum/Math/Algorithms/CMakeLists.txt
  5. 3
      src/Magnum/Math/CMakeLists.txt
  6. 3
      src/Magnum/Math/Geometry/CMakeLists.txt
  7. 4
      src/Magnum/MeshTools/CMakeLists.txt
  8. 148
      src/Magnum/Platform/CMakeLists.txt
  9. 10
      src/Magnum/Primitives/CMakeLists.txt
  10. 4
      src/Magnum/SceneGraph/CMakeLists.txt
  11. 8
      src/Magnum/Shaders/CMakeLists.txt
  12. 8
      src/Magnum/Shapes/CMakeLists.txt
  13. 4
      src/Magnum/Text/CMakeLists.txt
  14. 4
      src/Magnum/TextureTools/CMakeLists.txt
  15. 3
      src/Magnum/Trade/CMakeLists.txt

4
src/Magnum/Audio/CMakeLists.txt

@ -45,7 +45,9 @@ set(MagnumAudio_HEADERS
visibility.h)
add_library(MagnumAudio ${SHARED_OR_STATIC} ${MagnumAudio_SRCS})
add_library(MagnumAudio ${SHARED_OR_STATIC}
${MagnumAudio_SRCS}
${MagnumAudio_HEADERS})
set_target_properties(MagnumAudio PROPERTIES DEBUG_POSTFIX "-d")
target_link_libraries(MagnumAudio ${CORRADE_PLUGINMANAGER_LIBRARIES} ${OPENAL_LIBRARY})

15
src/Magnum/CMakeLists.txt

@ -119,6 +119,19 @@ set(Magnum_HEADERS
visibility.h)
# Header files to display in project view of IDEs only
set(Magnum_PRIVATE_HEADERS
Implementation/BufferState.h
Implementation/DebugState.h
Implementation/FramebufferState.h
Implementation/maxTextureSize.h
Implementation/MeshState.h
Implementation/RendererState.h
Implementation/ShaderProgramState.h
Implementation/ShaderState.h
Implementation/State.h
Implementation/TextureState.h)
# Deprecated headers
if(BUILD_DEPRECATED)
set(Magnum_HEADERS ${Magnum_HEADERS}
@ -159,6 +172,8 @@ set(MagnumMath_SRCS
add_library(MagnumMathObjects OBJECT ${MagnumMath_SRCS})
add_library(Magnum ${SHARED_OR_STATIC}
${Magnum_SRCS}
${Magnum_HEADERS}
${Magnum_PRIVATE_HEADERS}
$<TARGET_OBJECTS:MagnumMathObjects>)
set_target_properties(Magnum PROPERTIES DEBUG_POSTFIX "-d")

21
src/Magnum/DebugTools/CMakeLists.txt

@ -50,7 +50,26 @@ set(MagnumDebugTools_HEADERS
visibility.h)
add_library(MagnumDebugTools ${SHARED_OR_STATIC} ${MagnumDebugTools_SRCS})
# Header files to display in project view of IDEs only
set(MagnumDebugTools_PRIVATE_HEADERS
Implementation/AbstractBoxRenderer.h
Implementation/AbstractShapeRenderer.h
Implementation/AxisAlignedBoxRenderer.h
Implementation/BoxRenderer.h
Implementation/CapsuleRenderer.h
Implementation/CapsuleRendererTransformation.h
Implementation/CylinderRenderer.h
Implementation/CylinderRendererTransformation.h
Implementation/ForceRendererTransformation.h
Implementation/LineSegmentRenderer.h
Implementation/LineSegmentRendererTransformation.h
Implementation/PointRenderer.h
Implementation/SphereRenderer.h)
add_library(MagnumDebugTools ${SHARED_OR_STATIC}
${MagnumDebugTools_SRCS}
${MagnumDebugTools_HEADERS}
${MagnumDebugTools_PRIVATE_HEADERS})
set_target_properties(MagnumDebugTools PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

3
src/Magnum/Math/Algorithms/CMakeLists.txt

@ -28,6 +28,9 @@ set(MagnumMathAlgorithms_HEADERS
GramSchmidt.h
Svd.h)
# Force IDEs to display all header files in project view
add_custom_target(MagnumMathAlgorithms SOURCES ${MagnumMathAlgorithms_HEADERS})
install(FILES ${MagnumMathAlgorithms_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Math/Algorithms)
if(BUILD_TESTS)

3
src/Magnum/Math/CMakeLists.txt

@ -47,6 +47,9 @@ set(MagnumMath_HEADERS
Vector3.h
Vector4.h)
# Force IDEs to display all header files in project view
add_custom_target(MagnumMath SOURCES ${MagnumMath_HEADERS})
install(FILES ${MagnumMath_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Math)
add_subdirectory(Algorithms)

3
src/Magnum/Math/Geometry/CMakeLists.txt

@ -33,6 +33,9 @@ if(BUILD_DEPRECATED)
Rectangle.h)
endif()
# Force IDEs to display all header files in project view
add_custom_target(MagnumMathGeometry SOURCES ${MagnumMathGeometry_HEADERS})
install(FILES ${MagnumMathGeometry_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Math/Geometry)
if(BUILD_TESTS)

4
src/Magnum/MeshTools/CMakeLists.txt

@ -54,7 +54,9 @@ set(MagnumMeshTools_HEADERS
# Set shared library flags for the objects, as they will be part of shared lib
# TODO: fix when CMake sets target_EXPORTS for OBJECT targets as well
add_library(MagnumMeshToolsObjects OBJECT ${MagnumMeshTools_SRCS})
add_library(MagnumMeshToolsObjects OBJECT
${MagnumMeshTools_SRCS}
${MagnumMeshTools_HEADERS})
if(NOT BUILD_SHARED OR BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property
set_target_properties(MagnumMeshToolsObjects PROPERTIES COMPILE_FLAGS "-DMagnumMeshToolsObjects_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")

148
src/Magnum/Platform/CMakeLists.txt

@ -30,6 +30,9 @@ set(MagnumPlatform_HEADERS
ScreenedApplication.h
ScreenedApplication.hpp)
# Files to display in project view of IDEs only (filled in below)
set(MagnumPlatform_FILES )
install(FILES ${MagnumPlatform_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
# Android application
@ -40,12 +43,21 @@ if(WITH_ANDROIDAPPLICATION)
include_directories(${ANDROID_NATIVE_APP_GLUE_INCLUDE_DIR})
add_library(MagnumAndroidApplication STATIC
set(MagnumAndroidApplication_SRCS
AndroidApplication.cpp
Implementation/Egl.cpp
Implementation/Egl.cpp)
set(MagnumAndroidApplication_HEADERS
AndroidApplication.h)
set(MagnumAndroidApplication_PRIVATE_HEADERS
Implementation/Egl.h)
add_library(MagnumAndroidApplication STATIC
${MagnumAndroidApplication_SRCS}
${MagnumAndroidApplication_HEADERS}
${MagnumAndroidApplication_PRIVATE_HEADERS}
${ANDROID_NATIVE_APP_GLUE_SRC})
set_target_properties(MagnumAndroidApplication PROPERTIES DEBUG_POSTFIX "-d")
install(FILES AndroidApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumAndroidApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumAndroidApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -59,9 +71,14 @@ if(WITH_GLUTAPPLICATION)
message(FATAL_ERROR "GLUT library, required by GlutApplication, was not found. Set WITH_GLUTAPPLICATION to OFF to skip building it.")
endif()
add_library(MagnumGlutApplication STATIC GlutApplication.cpp)
set(MagnumGlutApplication_SRCS GlutApplication.cpp)
set(MagnumGlutApplication_HEADERS GlutApplication.h)
add_library(MagnumGlutApplication STATIC
${MagnumGlutApplication_SRCS}
${MagnumGlutApplication_HEADERS})
set_target_properties(MagnumGlutApplication PROPERTIES DEBUG_POSTFIX "-d")
install(FILES MagnumGlutApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumGlutApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumGlutApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -76,9 +93,15 @@ if(WITH_SDL2APPLICATION)
endif()
include_directories(${SDL2_INCLUDE_DIR})
add_library(MagnumSdl2Application STATIC Sdl2Application.cpp)
set(MagnumSdl2Application_SRCS Sdl2Application.cpp)
set(MagnumSdl2Application_HEADERS Sdl2Application.h)
add_library(MagnumSdl2Application STATIC
${MagnumSdl2Application_SRCS}
${MagnumSdl2Application_HEADERS})
set_target_properties(MagnumSdl2Application PROPERTIES DEBUG_POSTFIX "-d")
install(FILES Sdl2Application.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumSdl2Application_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumSdl2Application
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -91,9 +114,14 @@ if(WITH_NACLAPPLICATION)
message(FATAL_ERROR "NaClApplication is available only when targeting Google Chrome Native Client. Set WITH_NACLAPPLICATION to OFF to skip building it.")
endif()
add_library(MagnumNaClApplication STATIC NaClApplication.cpp)
set(MagnumNaClApplication_SRCS NaClApplication.cpp)
set(MagnumNaClApplication_HEADERS NaClApplication.h)
add_library(MagnumNaClApplication STATIC
${MagnumNaClApplication_SRCS}
${MagnumNaClApplication_HEADERS})
set_target_properties(MagnumNaClApplication PROPERTIES DEBUG_POSTFIX "-d")
install(FILES NaClApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumNaClApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumNaClApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -106,10 +134,15 @@ if(WITH_WINDOWLESSNACLAPPLICATION)
message(FATAL_ERROR "WindowlessNaClApplication is available only when targeting Google Chrome Native Client. Set WITH_WINDOWLESSNACLAPPLICATION to OFF to skip building it.")
endif()
add_library(MagnumWindowlessNaClApplication STATIC WindowlessNaClApplication.cpp)
set(MagnumWindowlessNaClApplication_SRCS WindowlessNaClApplication.cpp)
set(MagnumWindowlessNaClApplication_HEADERS WindowlessNaClApplication.h)
add_library(MagnumWindowlessNaClApplication STATIC
${MagnumWindowlessNaClApplication_SRCS}
${MagnumWindowlessNaClApplication_HEADERS})
set_target_properties(MagnumWindowlessNaClApplication PROPERTIES DEBUG_POSTFIX "-d")
target_link_libraries(MagnumWindowlessNaClApplication Magnum ppapi_cpp ppapi)
install(FILES WindowlessNaClApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumWindowlessNaClApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumWindowlessNaClApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -118,24 +151,38 @@ endif()
# JavaScript and CSS stuff for NaCl
if(WITH_NACLAPPLICATION OR WITH_WINDOWLESSNACLAPPLICATION)
install(FILES NaClApplication.js WebApplication.css DESTINATION ${MAGNUM_DATA_INSTALL_DIR})
set(MagnumNaClApplication_FILES
NaClApplication.js
WebApplication.css)
list(APPEND MagnumPlatform_FILES ${MagnumNaClApplication_FILES})
install(FILES ${MagnumNaClApplication_FILES} DESTINATION ${MAGNUM_DATA_INSTALL_DIR})
endif()
# JavaScript and CSS stuff for Emscripten
if(WITH_SDL2APPLICATION AND CORRADE_TARGET_EMSCRIPTEN)
install(FILES EmscriptenApplication.js WebApplication.css DESTINATION ${MAGNUM_DATA_INSTALL_DIR})
set(MagnumSdl2Application_FILES
EmscriptenApplication.js
WebApplication.css)
list(APPEND MagnumPlatform_FILES ${MagnumSdl2Application_FILES})
install(FILES ${MagnumSdl2Application_FILES} DESTINATION ${MAGNUM_DATA_INSTALL_DIR})
endif()
# GLX application
if(WITH_GLXAPPLICATION)
set(NEED_ABSTRACTXAPPLICATION 1)
set(NEED_GLXCONTEXT 1)
add_library(MagnumGlxApplication STATIC
set(MagnumGlxApplication_SRCS
$<TARGET_OBJECTS:MagnumAbstractXApplication>
$<TARGET_OBJECTS:MagnumGlxContextHandler>
GlxApplication.cpp)
set(MagnumGlxApplication_HEADERS GlxApplication.h)
add_library(MagnumGlxApplication STATIC
${MagnumGlxApplication_SRCS}
${MagnumGlxApplication_HEADERS})
set_target_properties(MagnumGlxApplication PROPERTIES DEBUG_POSTFIX "-d")
install(FILES GlxApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumGlxApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumGlxApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -146,12 +193,18 @@ endif()
if(WITH_XEGLAPPLICATION)
set(NEED_ABSTRACTXAPPLICATION 1)
set(NEED_EGLCONTEXT 1)
add_library(MagnumXEglApplication STATIC
set(MagnumXEglApplication_SRCS
$<TARGET_OBJECTS:MagnumAbstractXApplication>
$<TARGET_OBJECTS:MagnumEglContextHandler>
XEglApplication.cpp)
set(MagnumXEglApplication_HEADERS XEglApplication.h)
add_library(MagnumXEglApplication STATIC
${MagnumXEglApplication_SRCS}
${MagnumXEglApplication_HEADERS})
set_target_properties(MagnumXEglApplication PROPERTIES DEBUG_POSTFIX "-d")
install(FILES XEglApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumXEglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumXEglApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -167,13 +220,18 @@ endif()
# Windowless GLX application
if(WITH_WINDOWLESSGLXAPPLICATION)
add_library(MagnumWindowlessGlxApplication STATIC WindowlessGlxApplication.cpp)
set(MagnumWindowlessGlxApplication_SRCS WindowlessGlxApplication.cpp)
set(MagnumWindowlessGlxApplication_HEADERS WindowlessGlxApplication.h)
add_library(MagnumWindowlessGlxApplication STATIC
${MagnumWindowlessGlxApplication_SRCS}
${MagnumWindowlessGlxApplication_HEADERS})
# X11 macros are a mess, disable warnings for C-style casts
set_target_properties(MagnumWindowlessGlxApplication PROPERTIES
COMPILE_FLAGS "-Wno-old-style-cast"
DEBUG_POSTFIX "-d")
target_link_libraries(MagnumWindowlessGlxApplication Magnum ${X11_LIBRARIES})
install(FILES WindowlessGlxApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumWindowlessGlxApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumWindowlessGlxApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -182,12 +240,17 @@ endif()
# Windowless WGL application
if(WITH_WINDOWLESSWGLAPPLICATION)
add_library(MagnumWindowlessWglApplication STATIC WindowlessWglApplication.cpp)
set(MagnumWindowlessWglApplication_SRCS WindowlessWglApplication.cpp)
set(MagnumWindowlessWglApplication_HEADERS WindowlessWglApplication.h)
add_library(MagnumWindowlessWglApplication STATIC
${MagnumWindowlessWglApplication_SRCS}
${MagnumWindowlessWglApplication_HEADERS})
set_target_properties(MagnumWindowlessWglApplication PROPERTIES
COMPILE_FLAGS "-DUNICODE"
DEBUG_POSTFIX "-d")
target_link_libraries(MagnumWindowlessWglApplication Magnum)
install(FILES WindowlessWglApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumWindowlessWglApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumWindowlessWglApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -196,10 +259,15 @@ endif()
# Windowless CGL application
if(WITH_WINDOWLESSCGLAPPLICATION)
add_library(MagnumWindowlessCglApplication STATIC WindowlessCglApplication.cpp)
set(MagnumWindowlessCglApplication_SRCS WindowlessCglApplication.cpp)
set(MagnumWindowlessCglApplication_HEADERS WindowlessCglApplication.h)
add_library(MagnumWindowlessCglApplication STATIC
${MagnumWindowlessCglApplication_SRCS}
${MagnumWindowlessCglApplication_HEADERS})
set_target_properties(MagnumWindowlessCglApplication PROPERTIES DEBUG_POSTFIX "-d")
target_link_libraries(MagnumWindowlessCglApplication Magnum)
install(FILES WindowlessCglApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumWindowlessGlxApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(TARGETS MagnumWindowlessCglApplication
RUNTIME DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}
LIBRARY DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}
@ -208,15 +276,28 @@ endif()
# Abstract X application
if(NEED_ABSTRACTXAPPLICATION)
add_library(MagnumAbstractXApplication OBJECT AbstractXApplication.cpp)
set(MagnumAbstractXApplication_SRCS AbstractXApplication.cpp)
set(MagnumAbstractXApplication_HEADERS AbstractXApplication.h)
add_library(MagnumAbstractXApplication OBJECT
${MagnumAbstractXApplication_SRCS}
${MagnumAbstractXApplication_HEADERS})
# X11 macros are a mess, disable warnings for C-style casts
set_target_properties(MagnumAbstractXApplication PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast")
install(FILES AbstractXApplication.h DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
install(FILES ${MagnumAbstractXApplication_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Platform)
endif()
# GLX context
if(NEED_GLXCONTEXT)
add_library(MagnumGlxContextHandler OBJECT Implementation/GlxContextHandler.cpp)
set(MagnumGlxContextHandler_SRCS
Implementation/GlxContextHandler.cpp)
set(MagnumGlxContextHandler_PRIVATE_HEADERS
Implementation/AbstractContextHandler.h
Implementation/GlxContextHandler.h)
add_library(MagnumGlxContextHandler OBJECT
${MagnumGlxContextHandler_SRCS}
${MagnumGlxContextHandler_PRIVATE_HEADERS})
# X11 macros are a mess, disable warnings for C-style casts
set_target_properties(MagnumGlxContextHandler PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast")
endif()
@ -227,9 +308,18 @@ if(NEED_EGLCONTEXT)
if(NOT EGL_FOUND)
message(FATAL_ERROR "EGL library, required by some window contexts, was not found. Set WITH_*EGL*APPLICATION to OFF to skip building them.")
endif()
add_library(MagnumEglContextHandler OBJECT
set(MagnumEglContextHandler_SRCS
Implementation/EglContextHandler.cpp
Implementation/Egl.cpp)
set(MagnumEglContextHandler_PRIVATE_HEADERS
Implementation/AbstractContextHandler.h
Implementation/EglContextHandler.h
Implementation/Egl.h)
add_library(MagnumEglContextHandler OBJECT
${MagnumEglContextHandler_SRCS}
${MagnumEglContextHandler_PRIVATE_HEADERS})
# X11 macros are a mess, disable warnings for C-style casts
set_target_properties(MagnumEglContextHandler PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast")
endif()
@ -254,5 +344,9 @@ if(WITH_MAGNUMINFO)
if(CORRADE_TARGET_NACL)
install(FILES magnum-info-nacl.html DESTINATION ${MAGNUM_DATA_INSTALL_DIR} RENAME magnum-info.html)
install(FILES magnum-info-nacl.nmf DESTINATION ${MAGNUM_DATA_INSTALL_DIR} RENAME magnum-info.nmf)
list(APPEND MagnumPlatform_FILES magnum-info-nacl.html magnum-info-nacl.nmf)
endif()
endif()
# Force IDEs display also all header files and additional files in project view
add_custom_target(MagnumPlatform SOURCES ${MagnumPlatform_HEADERS} ${MagnumPlatform_FILES})

10
src/Magnum/Primitives/CMakeLists.txt

@ -52,7 +52,15 @@ set(MagnumPrimitives_HEADERS
visibility.h)
add_library(MagnumPrimitives ${SHARED_OR_STATIC} ${MagnumPrimitives_SRCS})
# Header files to display in project view of IDEs only
set(MagnumPrimitives_PRIVATE_HEADERS
Implementation/Spheroid.h
Implementation/WireframeSpheroid.h)
add_library(MagnumPrimitives ${SHARED_OR_STATIC}
${MagnumPrimitives_SRCS}
${MagnumPrimitives_HEADERS}
${MagnumPrimitives_PRIVATE_HEADERS})
set_target_properties(MagnumPrimitives PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

4
src/Magnum/SceneGraph/CMakeLists.txt

@ -71,7 +71,9 @@ set(MagnumSceneGraph_HEADERS
# Set shared library flags for the objects, as they will be part of shared lib
# TODO: fix when CMake sets target_EXPORTS for OBJECT targets as well
add_library(MagnumSceneGraphObjects OBJECT ${MagnumSceneGraph_SRCS})
add_library(MagnumSceneGraphObjects OBJECT
${MagnumSceneGraph_SRCS}
${MagnumSceneGraph_HEADERS})
if(NOT BUILD_STATIC OR BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property
set_target_properties(MagnumSceneGraphObjects PROPERTIES COMPILE_FLAGS "-DMagnumSceneGraphObjects_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")

8
src/Magnum/Shaders/CMakeLists.txt

@ -49,6 +49,9 @@ set(MagnumShaders_HEADERS
visibility.h)
# Header files to display in project view of IDEs only
set(MagnumShaders_PRIVATE_HEADERS Implementation/CreateCompatibilityShader.h)
if(BUILD_STATIC)
set(MagnumShaders_HEADERS ${MagnumShaders_HEADERS} resourceImport.hpp)
@ -57,7 +60,10 @@ if(BUILD_STATIC)
endif()
endif()
add_library(MagnumShaders ${SHARED_OR_STATIC} ${MagnumShaders_SRCS})
add_library(MagnumShaders ${SHARED_OR_STATIC}
${MagnumShaders_SRCS}
${MagnumShaders_HEADERS}
${MagnumShaders_PRIVATE_HEADERS})
set_target_properties(MagnumShaders PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

8
src/Magnum/Shapes/CMakeLists.txt

@ -61,7 +61,13 @@ set(MagnumShapes_HEADERS
shapeImplementation.h
visibility.h)
add_library(MagnumShapes ${SHARED_OR_STATIC} ${MagnumShapes_SRCS})
# Header files to display in project view of IDEs only
set(MagnumShapes_PRIVATE_HEADERS Implementation/CollisionDispatch.h)
add_library(MagnumShapes ${SHARED_OR_STATIC}
${MagnumShapes_SRCS}
${MagnumShapes_HEADERS}
${MagnumShapes_PRIVATE_HEADERS})
set_target_properties(MagnumShapes PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

4
src/Magnum/Text/CMakeLists.txt

@ -45,7 +45,9 @@ if(MAGNUM_BUILD_DEPRECATED)
TextRenderer.h)
endif()
add_library(MagnumText ${SHARED_OR_STATIC} ${MagnumText_SRCS})
add_library(MagnumText ${SHARED_OR_STATIC}
${MagnumText_SRCS}
${MagnumText_HEADERS})
set_target_properties(MagnumText PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

4
src/Magnum/TextureTools/CMakeLists.txt

@ -40,7 +40,9 @@ if(BUILD_STATIC)
set(MagnumTextureTools_HEADERS ${MagnumTextureTools_HEADERS} magnumTextureToolsResourceImport.hpp)
endif()
add_library(MagnumTextureTools ${SHARED_OR_STATIC} ${MagnumTextureTools_SRCS})
add_library(MagnumTextureTools ${SHARED_OR_STATIC}
${MagnumTextureTools_SRCS}
${MagnumTextureTools_HEADERS})
set_target_properties(MagnumTextureTools PROPERTIES DEBUG_POSTFIX "-d")
if(BUILD_STATIC_PIC)
# TODO: CMake 2.8.9 has this as POSITION_INDEPENDENT_CODE property

3
src/Magnum/Trade/CMakeLists.txt

@ -41,6 +41,9 @@ set(MagnumTrade_HEADERS
TextureData.h
Trade.h)
# Force IDEs to display all header files in project view
add_custom_target(MagnumTrade SOURCES ${MagnumTrade_HEADERS})
install(FILES ${MagnumTrade_HEADERS} DESTINATION ${MAGNUM_INCLUDE_INSTALL_DIR}/Trade)
if(BUILD_TESTS)

Loading…
Cancel
Save