Browse Source

Cleaned up CMakeLists.txt.

vectorfields
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")
# If targeting GLES, save it into configuration header
if(TARGET_GLES)
set(MAGNUM_TARGET_GLES 1)
endif()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/magnumConfigure.h.cmake
${CMAKE_CURRENT_BINARY_DIR}/magnumConfigure.h)
@ -27,37 +27,34 @@ set(Magnum_SRCS
TypeTraits.cpp
Trade/AbstractImporter.cpp
Trade/MeshData.cpp
)
Trade/MeshData.cpp)
add_library(MagnumObjects OBJECT ${Magnum_SRCS})
# Files shared between main library and math unit test library
set(MagnumMath_SRCS
Math/Math.cpp
)
Math/Math.cpp)
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
# 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}")
# Files compiled with different flags for main library and unit test library
set(Magnum_GracefulAssert_SRCS
Object.cpp
)
# Main library
add_library(Magnum SHARED
$<TARGET_OBJECTS:MagnumObjects>
$<TARGET_OBJECTS:MagnumMathObjects>
${Magnum_GracefulAssert_SRCS}
)
${Magnum_GracefulAssert_SRCS})
target_link_libraries(Magnum ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY})
if(NOT TARGET_GLES)
target_link_libraries(Magnum ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARY})
else()
target_link_libraries(Magnum ${OPENGLES2_LIBRARY})
endif()
install(TARGETS Magnum DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR})
# Install also configure file
@ -73,11 +70,12 @@ add_subdirectory(Shaders)
if(BUILD_TESTS)
enable_testing()
include_directories(${QT_INCLUDE_DIR})
# Library with graceful assert for testing
add_library(MagnumTestLib SHARED
$<TARGET_OBJECTS:MagnumObjects>
${Magnum_GracefulAssert_SRCS}
)
${Magnum_GracefulAssert_SRCS})
set_target_properties(MagnumTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT)
target_link_libraries(MagnumTestLib ${CORRADE_UTILITY_LIBRARY} ${CORRADE_PLUGINMANAGER_LIBRARY})
if(NOT TARGET_GLES)
@ -86,6 +84,5 @@ if(BUILD_TESTS)
target_link_libraries(MagnumTestLib ${OPENGLES2_LIBRARY})
endif()
include_directories(${QT_INCLUDE_DIR})
add_subdirectory(Test)
endif()

12
src/MeshTools/CMakeLists.txt

@ -1,7 +1,6 @@
# Files shared between main library and unit test library
set(MagnumMeshTools_SRCS
Tipsify.cpp
)
Tipsify.cpp)
add_library(MagnumMeshToolsObjects OBJECT ${MagnumMeshTools_SRCS})
# 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
set(MagnumMeshTools_GracefulAssert_SRCS
FlipNormals.cpp
GenerateFlatNormals.cpp
)
GenerateFlatNormals.cpp)
# Main library
add_library(MagnumMeshTools SHARED
$<TARGET_OBJECTS:MagnumMeshToolsObjects>
${MagnumMeshTools_GracefulAssert_SRCS}
)
${MagnumMeshTools_GracefulAssert_SRCS})
target_link_libraries(MagnumMeshTools Magnum)
install(TARGETS MagnumMeshTools DESTINATION ${MAGNUM_LIBRARY_INSTALL_DIR})
@ -29,8 +26,7 @@ if(BUILD_TESTS)
# Library with graceful assert for testing
add_library(MagnumMeshToolsTestLib SHARED
$<TARGET_OBJECTS:MagnumMeshToolsObjects>
${MagnumMeshTools_GracefulAssert_SRCS}
)
${MagnumMeshTools_GracefulAssert_SRCS})
set_target_properties(MagnumMeshToolsTestLib PROPERTIES COMPILE_FLAGS -DCORRADE_GRACEFUL_ASSERT)
target_link_libraries(MagnumMeshToolsTestLib Magnum)

3
src/Physics/CMakeLists.txt

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

3
src/Primitives/CMakeLists.txt

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

9
src/Shaders/CMakeLists.txt

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

Loading…
Cancel
Save