X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2FCMakeLists.txt;h=fd83c895e50e6130d24203ea0efe6314000c1492;hb=509d064286b97f9a8cd013c1908c6179fe4227e3;hp=84c1d22b2f3a60b8e0c6c7712f423b4af23cdbf5;hpb=9e77ff328eb30abe4270c9bd8bfe37c40a109333;p=simgear.git diff --git a/simgear/CMakeLists.txt b/simgear/CMakeLists.txt index 84c1d22b..fd83c895 100644 --- a/simgear/CMakeLists.txt +++ b/simgear/CMakeLists.txt @@ -24,6 +24,7 @@ foreach( mylibfolder endforeach( mylibfolder ) if(NOT SIMGEAR_HEADLESS) + add_subdirectory(canvas) add_subdirectory(environment) add_subdirectory(screen) add_subdirectory(scene) @@ -39,12 +40,17 @@ 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 "Library building mode: SHARED LIBRARIES") - get_property(coreSources GLOBAL PROPERTY CORE_SOURCES) - get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES) - get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS) - add_library(SimGearCore SHARED ${coreSources}) # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1) @@ -55,12 +61,11 @@ if(SIMGEAR_SHARED) set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION}) set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION}) - target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) - install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} + ${EXPAT_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT}) if(LIBSVN_FOUND) - add_definitions(${APR_CFLAGS}) - include_directories(${LIBSVN_INCLUDE_DIR}) target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES}) endif(LIBSVN_FOUND) @@ -82,8 +87,60 @@ if(SIMGEAR_SHARED) 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") + + get_property(FG_GROUPS_CORE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_C) + string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_C} ) + foreach(g ${groups}) + string(REPLACE "#" ";" g2 ${g}) + list(GET g2 0 name) + list(REMOVE_AT g2 0) + source_group("${name}\\Sources" FILES ${g2}) + endforeach() + + get_property(FG_GROUPS_CORE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_H) + string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_H} ) + foreach(g ${groups}) + string(REPLACE "#" ";" g2 ${g}) + list(GET g2 0 name) + list(REMOVE_AT g2 0) + source_group("${name}\\Headers" FILES ${g2}) + endforeach() + + add_library(SimGearCore STATIC ${coreSources}) + install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + if(NOT SIMGEAR_HEADLESS) + get_property(FG_GROUPS_SCENE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_C) + string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_C} ) + foreach(g ${groups}) + string(REPLACE "#" ";" g2 ${g}) + list(GET g2 0 name) + list(REMOVE_AT g2 0) + source_group("${name}\\Sources" FILES ${g2}) + endforeach() + + get_property(FG_GROUPS_SCENE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_H) + string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_H} ) + foreach(g ${groups}) + string(REPLACE "#" ";" g2 ${g}) + list(GET g2 0 name) + list(REMOVE_AT g2 0) + source_group("${name}\\Headers" FILES ${g2}) + endforeach() + + 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)