Browse Source

Cleaned up CMakeLists.txt.

pull/279/head
Vladimír Vondruš 14 years ago
parent
commit
6add425bb3
  1. 27
      src/CMakeLists.txt
  2. 12
      src/MeshTools/CMakeLists.txt
  3. 3
      src/Physics/CMakeLists.txt
  4. 3
      src/Primitives/CMakeLists.txt
  5. 9
      src/Shaders/CMakeLists.txt

27
src/CMakeLists.txt

@ -1,9 +1,9 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++0x -fvisibility=hidden") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -std=c++0x -fvisibility=hidden")
# If targeting GLES, save it into configuration header
if(TARGET_GLES) if(TARGET_GLES)
set(MAGNUM_TARGET_GLES 1) set(MAGNUM_TARGET_GLES 1)
endif() endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/magnumConfigure.h.cmake configure_file(${CMAKE_CURRENT_SOURCE_DIR}/magnumConfigure.h.cmake
${CMAKE_CURRENT_BINARY_DIR}/magnumConfigure.h) ${CMAKE_CURRENT_BINARY_DIR}/magnumConfigure.h)
@ -27,37 +27,34 @@ set(Magnum_SRCS
TypeTraits.cpp TypeTraits.cpp
Trade/AbstractImporter.cpp Trade/AbstractImporter.cpp
Trade/MeshData.cpp Trade/MeshData.cpp)
)
add_library(MagnumObjects OBJECT ${Magnum_SRCS}) add_library(MagnumObjects OBJECT ${Magnum_SRCS})
# Files shared between main library and math unit test library # Files shared between main library and math unit test library
set(MagnumMath_SRCS set(MagnumMath_SRCS
Math/Math.cpp Math/Math.cpp)
)
add_library(MagnumMathObjects OBJECT ${MagnumMath_SRCS}) add_library(MagnumMathObjects OBJECT ${MagnumMath_SRCS})
# Files compiled with different flags for main library and unit test library
set(Magnum_GracefulAssert_SRCS
Object.cpp)
# Set shared library flags for the objects, as they will be part of shared lib # 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 # TODO: fix when CMake sets target_EXPORTS for OBJECT targets as well
set_target_properties(MagnumObjects MagnumMathObjects PROPERTIES COMPILE_FLAGS "-DMagnumObjects_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") set_target_properties(MagnumObjects MagnumMathObjects PROPERTIES COMPILE_FLAGS "-DMagnumObjects_EXPORTS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")
# Files compiled with different flags for main library and unit test library
set(Magnum_GracefulAssert_SRCS
Object.cpp
)
# Main library # Main library
add_library(Magnum SHARED add_library(Magnum SHARED
$<TARGET_OBJECTS:MagnumObjects> $<TARGET_OBJECTS:MagnumObjects>
$<TARGET_OBJECTS:MagnumMathObjects> $<TARGET_OBJECTS:MagnumMathObjects>
${Magnum_GracefulAssert_SRCS} ${Magnum_GracefulAssert_SRCS})
)
target_link_libraries(Magnum ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY}) target_link_libraries(Magnum ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY})
if(NOT TARGET_GLES) if(NOT TARGET_GLES)
target_link_libraries(Magnum ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARY}) target_link_libraries(Magnum ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARY})
else() else()
target_link_libraries(Magnum ${OPENGLES2_LIBRARY}) target_link_libraries(Magnum ${OPENGLES2_LIBRARY})
endif() endif()
install(TARGETS Magnum DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) install(TARGETS Magnum DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR})
# Install also configure file # Install also configure file
@ -73,11 +70,12 @@ add_subdirectory(Shaders)
if(BUILD_TESTS) if(BUILD_TESTS)
enable_testing() enable_testing()
include_directories(${QT_INCLUDE_DIR})
# Library with graceful assert for testing # Library with graceful assert for testing
add_library(MagnumTestLib SHARED add_library(MagnumTestLib SHARED
$<TARGET_OBJECTS:MagnumObjects> $<TARGET_OBJECTS:MagnumObjects>
${Magnum_GracefulAssert_SRCS} ${Magnum_GracefulAssert_SRCS})
)
set_target_properties(MagnumTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT) set_target_properties(MagnumTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT)
target_link_libraries(MagnumTestLib ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY}) target_link_libraries(MagnumTestLib ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY})
if(NOT TARGET_GLES) if(NOT TARGET_GLES)
@ -86,6 +84,5 @@ if(BUILD_TESTS)
target_link_libraries(MagnumTestLib ${OPENGLES2_LIBRARY}) target_link_libraries(MagnumTestLib ${OPENGLES2_LIBRARY})
endif() endif()
include_directories(${QT_INCLUDE_DIR})
add_subdirectory(Test) add_subdirectory(Test)
endif() endif()

12
src/MeshTools/CMakeLists.txt

@ -1,7 +1,6 @@
# Files shared between main library and unit test library # Files shared between main library and unit test library
set(MagnumMeshTools_SRCS set(MagnumMeshTools_SRCS
Tipsify.cpp Tipsify.cpp)
)
add_library(MagnumMeshToolsObjects OBJECT ${MagnumMeshTools_SRCS}) add_library(MagnumMeshToolsObjects OBJECT ${MagnumMeshTools_SRCS})
# Set shared library flags for the objects, as they will be part of shared lib # Set shared library flags for the objects, as they will be part of shared lib
@ -11,14 +10,12 @@ set_target_properties(MagnumMeshToolsObjects PROPERTIES COMPILE_FLAGS "-DMagnumM
# Files compiled with different flags for main library and unit test library # Files compiled with different flags for main library and unit test library
set(MagnumMeshTools_GracefulAssert_SRCS set(MagnumMeshTools_GracefulAssert_SRCS
FlipNormals.cpp FlipNormals.cpp
GenerateFlatNormals.cpp GenerateFlatNormals.cpp)
)
# Main library # Main library
add_library(MagnumMeshTools SHARED add_library(MagnumMeshTools SHARED
$<TARGET_OBJECTS:MagnumMeshToolsObjects> $<TARGET_OBJECTS:MagnumMeshToolsObjects>
${MagnumMeshTools_GracefulAssert_SRCS} ${MagnumMeshTools_GracefulAssert_SRCS})
)
target_link_libraries(MagnumMeshTools Magnum) target_link_libraries(MagnumMeshTools Magnum)
install(TARGETS MagnumMeshTools DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR}) install(TARGETS MagnumMeshTools DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR})
@ -29,8 +26,7 @@ if(BUILD_TESTS)
# Library with graceful assert for testing # Library with graceful assert for testing
add_library(MagnumMeshToolsTestLib SHARED add_library(MagnumMeshToolsTestLib SHARED
$<TARGET_OBJECTS:MagnumMeshToolsObjects> $<TARGET_OBJECTS:MagnumMeshToolsObjects>
${MagnumMeshTools_GracefulAssert_SRCS} ${MagnumMeshTools_GracefulAssert_SRCS})
)
set_target_properties(MagnumMeshToolsTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT) set_target_properties(MagnumMeshToolsTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT)
target_link_libraries(MagnumMeshToolsTestLib Magnum) target_link_libraries(MagnumMeshToolsTestLib Magnum)

3
src/Physics/CMakeLists.txt

@ -5,8 +5,7 @@ set(MagnumPhysics_SRCS
Line.cpp Line.cpp
Plane.cpp Plane.cpp
ShapeGroup.cpp ShapeGroup.cpp
Sphere.cpp Sphere.cpp)
)
add_library(MagnumPhysics SHARED ${MagnumPhysics_SRCS}) add_library(MagnumPhysics SHARED ${MagnumPhysics_SRCS})

3
src/Primitives/CMakeLists.txt

@ -3,8 +3,7 @@ set(MagnumPrimitives_SRCS
Cube.cpp Cube.cpp
Icosphere.cpp Icosphere.cpp
Plane.cpp Plane.cpp
UVSphere.cpp UVSphere.cpp)
)
add_library(MagnumPrimitives STATIC ${MagnumPrimitives_SRCS}) add_library(MagnumPrimitives STATIC ${MagnumPrimitives_SRCS})
target_link_libraries(MagnumPrimitives Magnum) target_link_libraries(MagnumPrimitives Magnum)

9
src/Shaders/CMakeLists.txt

@ -1,10 +1,9 @@
corrade_add_resource(Shaders MagnumShaders PhongShader.frag PhongShader.vert) corrade_add_resource(MagnumShaders_RCS MagnumShaders PhongShader.frag PhongShader.vert)
set(Shaders_SRCS set(MagnumShaders_SRCS
PhongShader.cpp PhongShader.cpp
${Shaders} ${MagnumShaders_RCS})
)
add_library(MagnumShaders SHARED ${Shaders_SRCS}) add_library(MagnumShaders SHARED ${MagnumShaders_SRCS})
target_link_libraries(MagnumShaders Magnum) target_link_libraries(MagnumShaders Magnum)

Loading…
Cancel
Save