]> git.mxchange.org Git - simgear.git/blob - simgear/CMakeLists.txt
cmake: Make rti/hla compile again.
[simgear.git] / simgear / CMakeLists.txt
1
2 file(WRITE ${PROJECT_BINARY_DIR}/simgear/version.h "#define SIMGEAR_VERSION ${SIMGEAR_VERSION}")
3
4 foreach( mylibfolder 
5         bucket
6         bvh
7         debug
8         ephemeris
9         io
10         magvar
11         math
12         misc
13         nasal
14         props
15         serial
16         structure
17         threads
18         timing
19         xml
20     )
21
22     add_subdirectory(${mylibfolder})
23
24 endforeach( mylibfolder )
25
26 if(NOT SIMGEAR_HEADLESS)
27     add_subdirectory(environment)
28     add_subdirectory(screen)
29     add_subdirectory(scene)
30     add_subdirectory(sound)
31 endif(NOT SIMGEAR_HEADLESS)
32
33
34 if(ENABLE_RTI)
35     add_subdirectory(hla)
36 endif(ENABLE_RTI)
37
38
39 set(HEADERS compiler.h constants.h sg_inlines.h ${PROJECT_BINARY_DIR}/simgear/version.h)
40 install (FILES ${HEADERS}  DESTINATION include/simgear/)
41
42 get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
43 get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
44 get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
45
46 if(LIBSVN_FOUND)
47         add_definitions(${APR_CFLAGS})
48         include_directories(${LIBSVN_INCLUDE_DIR})
49 endif()
50
51 if(SIMGEAR_SHARED)
52     message(STATUS "Library building mode: SHARED LIBRARIES")
53     add_library(SimGearCore SHARED ${coreSources})
54
55   # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
56   #  message(STATUS "public header: ${publicHeaders}")
57   #  set_property(TARGET SimGearCore PROPERTY PUBLIC_HEADER "${publicHeaders}")
58     set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
59
60     set_property(TARGET SimGearCore PROPERTY VERSION   ${SIMGEAR_VERSION})
61     set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
62
63     target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} 
64         ${EXPAT_LIBRARIES}
65         ${CMAKE_THREAD_LIBS_INIT})
66
67     if(LIBSVN_FOUND)
68         target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES})
69     endif(LIBSVN_FOUND)
70
71     if(NOT SIMGEAR_HEADLESS)
72         add_library(SimGearScene SHARED ${sceneSources})
73       # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1)
74       # set_property(TARGET SimGearScene PROPERTY PUBLIC_HEADER "${publicHeaders}")
75         set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
76         set_property(TARGET SimGearScene PROPERTY VERSION   ${SIMGEAR_VERSION})
77         set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
78
79         target_link_libraries(SimGearScene
80             SimGearCore
81             ${ZLIB_LIBRARY}
82             ${OPENSCENEGRAPH_LIBRARIES}
83             ${OPENAL_LIBRARY}
84             ${OPENGL_LIBRARY}
85             ${JPEG_LIBRARY})
86     
87         install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
88     endif()
89     
90     install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
91 else()
92     message(STATUS "Library building mode: STATIC LIBRARIES")
93     
94     add_library(SimGearCore STATIC ${coreSources})
95     install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
96     
97     if(NOT SIMGEAR_HEADLESS)
98         add_library(SimGearScene STATIC ${sceneSources})
99         install(TARGETS SimGearScene ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
100     endif(NOT SIMGEAR_HEADLESS)
101 endif(SIMGEAR_SHARED)
102
103 if(ENABLE_RTI)
104     # Ugly first aid to make hla compile agian
105     set_property(SOURCE hla/RTI13InteractionClass.cxx hla/RTI13ObjectClass.cxx
106         hla/RTI13ObjectInstance.cxx hla/RTI13Federate.cxx
107         hla/RTI13FederateFactory.cxx
108         APPEND PROPERTY COMPILE_FLAGS "-I${RTI_INCLUDE_DIR}")
109 endif(ENABLE_RTI)