- 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} ${localExpatSources})
+
+ set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
+ set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION})
+ set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
+ install(TARGETS SimGearCore EXPORT SimGearCoreConfig LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(EXPORT SimGearCoreConfig DESTINATION share/SimGearCore)
+
+ if(NOT SIMGEAR_HEADLESS)
+ add_library(SimGearScene SHARED ${sceneSources})
+ set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
+ set_property(TARGET SimGearScene PROPERTY VERSION ${SIMGEAR_VERSION})
+ set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
+
+ # EXPORT SimGearSceneConfig
+ install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+ # install(EXPORT SimGearSceneConfig DESTINATION share/SimGearScene)
+ endif()
+
+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} ${localExpatSources})
+ install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})