X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=simgear%2FCMakeLists.txt;h=62f4a4052a0a4e385d56c22794e256e2ae955ede;hb=052382af89487a8db6703b3a97e3714808f1b55f;hp=e3ff31ef63a21c168794974da76717b035855440;hpb=05272d10703f040cbd3a0d972e05a9bc0ee46e14;p=simgear.git diff --git a/simgear/CMakeLists.txt b/simgear/CMakeLists.txt index e3ff31ef..62f4a405 100644 --- a/simgear/CMakeLists.txt +++ b/simgear/CMakeLists.txt @@ -3,6 +3,7 @@ file(WRITE ${PROJECT_BINARY_DIR}/simgear/version.h "#define SIMGEAR_VERSION ${SI foreach( mylibfolder bucket + bvh debug ephemeris io @@ -11,7 +12,6 @@ foreach( mylibfolder misc nasal props - route serial structure threads @@ -39,23 +39,71 @@ endif(ENABLE_RTI) set(HEADERS compiler.h constants.h sg_inlines.h ${PROJECT_BINARY_DIR}/simgear/version.h) install (FILES ${HEADERS} DESTINATION include/simgear/) +get_property(coreSources GLOBAL PROPERTY CORE_SOURCES) +get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES) +get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS) + +if(LIBSVN_FOUND) + add_definitions(${APR_CFLAGS}) + include_directories(${LIBSVN_INCLUDE_DIR}) +endif() + if(SIMGEAR_SHARED) - message(STATUS "building shared library") - get_property(allSources GLOBAL PROPERTY ALL_SOURCES) - get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS) - - add_library(SimGear SHARED ${allSources}) - set_property(TARGET SimGear PROPERTY FRAMEWORK 1) - message(STATUS "public header: ${publicHeaders}") - set_property(TARGET SimGear PROPERTY PUBLIC_HEADER "${publicHeaders}") - set_property(TARGET SimGear PROPERTY LINKER_LANGUAGE CXX) - - target_link_libraries(SimGear ${ZLIB_LIBRARY} - ${OPENSCENEGRAPH_LIBRARIES} - ${OPENAL_LIBRARY} ${ALUT_LIBRARY} - ${OPENGL_LIBRARY}) - - install(TARGETS SimGear LIBRARY DESTINATION lib${LIB_SUFFIX} - PUBLIC_HEADER DESTINATION include/simgear) -endif(SIMGEAR_SHARED) + message(STATUS "Library building mode: SHARED LIBRARIES") + add_library(SimGearCore SHARED ${coreSources}) + + # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1) + # message(STATUS "public header: ${publicHeaders}") + # set_property(TARGET SimGearCore PROPERTY PUBLIC_HEADER "${publicHeaders}") + set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX) + + set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION}) + set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION}) + + target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} + ${EXPAT_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT}) + + if(LIBSVN_FOUND) + target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES}) + endif(LIBSVN_FOUND) + + if(NOT SIMGEAR_HEADLESS) + add_library(SimGearScene SHARED ${sceneSources}) + # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1) + # set_property(TARGET SimGearScene PROPERTY PUBLIC_HEADER "${publicHeaders}") + set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX) + set_property(TARGET SimGearScene PROPERTY VERSION ${SIMGEAR_VERSION}) + set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION}) + + target_link_libraries(SimGearScene + SimGearCore + ${ZLIB_LIBRARY} + ${OPENSCENEGRAPH_LIBRARIES} + ${OPENAL_LIBRARY} + ${OPENGL_LIBRARY} + ${JPEG_LIBRARY}) + + install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +else() + message(STATUS "Library building mode: STATIC LIBRARIES") + + add_library(SimGearCore STATIC ${coreSources}) + install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + if(NOT SIMGEAR_HEADLESS) + add_library(SimGearScene STATIC ${sceneSources}) + install(TARGETS SimGearScene ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(NOT SIMGEAR_HEADLESS) +endif(SIMGEAR_SHARED) + +if(ENABLE_RTI) + # Ugly first aid to make hla compile agian + set_property(SOURCE hla/RTI13InteractionClass.cxx hla/RTI13ObjectClass.cxx + hla/RTI13ObjectInstance.cxx hla/RTI13Federate.cxx + hla/RTI13FederateFactory.cxx + APPEND PROPERTY COMPILE_FLAGS "-I${RTI_INCLUDE_DIR}") +endif(ENABLE_RTI)