2 file(WRITE ${PROJECT_BINARY_DIR}/simgear/version.h "#define SIMGEAR_VERSION ${SIMGEAR_VERSION}")
24 add_subdirectory(${mylibfolder})
26 endforeach( mylibfolder )
28 if(NOT SIMGEAR_HEADLESS)
29 add_subdirectory(canvas)
30 add_subdirectory(environment)
31 add_subdirectory(screen)
32 add_subdirectory(scene)
33 add_subdirectory(sound)
34 endif(NOT SIMGEAR_HEADLESS)
42 set(HEADERS compiler.h constants.h sg_inlines.h ${PROJECT_BINARY_DIR}/simgear/version.h)
43 install (FILES ${HEADERS} DESTINATION include/simgear/)
45 get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
46 get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
47 get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
48 get_property(localExpatSources GLOBAL PROPERTY LOCAL_EXPAT_SOURCES)
51 message(STATUS "Library building mode: SHARED LIBRARIES")
52 add_library(SimGearCore SHARED ${coreSources} ${localExpatSources})
54 set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
55 set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION})
56 set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
57 install(TARGETS SimGearCore
60 ${CMAKE_INSTALL_LIBDIR})
62 if(NOT SIMGEAR_HEADLESS)
63 add_library(SimGearScene SHARED ${sceneSources})
64 set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
65 set_property(TARGET SimGearScene PROPERTY VERSION ${SIMGEAR_VERSION})
66 set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
68 # EXPORT SimGearSceneConfig
69 install(TARGETS SimGearScene
72 DESTINATION ${CMAKE_INSTALL_LIBDIR} )
76 message(STATUS "Library building mode: STATIC LIBRARIES")
78 get_property(FG_GROUPS_CORE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_C)
79 string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_C} )
81 string(REPLACE "#" ";" g2 ${g})
84 source_group("${name}\\Sources" FILES ${g2})
87 get_property(FG_GROUPS_CORE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_H)
88 string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_H} )
90 string(REPLACE "#" ";" g2 ${g})
93 source_group("${name}\\Headers" FILES ${g2})
96 add_library(SimGearCore STATIC ${coreSources} ${localExpatSources})
97 install(TARGETS SimGearCore
99 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
101 if(NOT SIMGEAR_HEADLESS)
102 get_property(FG_GROUPS_SCENE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_C)
103 string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_C} )
105 string(REPLACE "#" ";" g2 ${g})
108 source_group("${name}\\Sources" FILES ${g2})
111 get_property(FG_GROUPS_SCENE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_H)
112 string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_H} )
114 string(REPLACE "#" ";" g2 ${g})
117 source_group("${name}\\Headers" FILES ${g2})
120 add_library(SimGearScene STATIC ${sceneSources})
121 install(TARGETS SimGearScene
122 EXPORT SimGearTargets
123 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
124 endif(NOT SIMGEAR_HEADLESS)
125 endif(SIMGEAR_SHARED)
127 target_link_libraries(SimGearCore
131 ${CMAKE_THREAD_LIBS_INIT}
136 target_link_libraries(SimGearCore
140 if(ENABLE_DNS AND SYSTEM_UDNS)
141 target_link_libraries(SimGearCore
145 if(NOT SIMGEAR_HEADLESS)
146 target_link_libraries(SimGearScene
149 ${OPENSCENEGRAPH_LIBRARIES}
156 # Ugly first aid to make hla compile agian
157 set_property(SOURCE hla/RTI13InteractionClass.cxx hla/RTI13ObjectClass.cxx
158 hla/RTI13ObjectInstance.cxx hla/RTI13Federate.cxx
159 hla/RTI13FederateFactory.cxx
160 APPEND PROPERTY COMPILE_FLAGS "-I${RTI_INCLUDE_DIR}")