]> git.mxchange.org Git - simgear.git/blob - simgear/CMakeLists.txt
46a22b6571f7be7e24584ee9bde3aea5e8dd8b2a
[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         debug
7         ephemeris
8         io
9         magvar
10         math
11         misc
12         nasal
13         props
14         serial
15         structure
16         threads
17         timing
18         xml
19     )
20
21     add_subdirectory(${mylibfolder})
22
23 endforeach( mylibfolder )
24
25 if(NOT SIMGEAR_HEADLESS)
26     add_subdirectory(environment)
27     add_subdirectory(screen)
28     add_subdirectory(scene)
29     add_subdirectory(sound)
30 endif(NOT SIMGEAR_HEADLESS)
31
32
33 if(ENABLE_RTI)
34     add_subdirectory(hla)
35 endif(ENABLE_RTI)
36
37
38 set(HEADERS compiler.h constants.h sg_inlines.h ${PROJECT_BINARY_DIR}/simgear/version.h)
39 install (FILES ${HEADERS}  DESTINATION include/simgear/)
40
41 if(SIMGEAR_SHARED)
42     message(STATUS "Library building mode: SHARED LIBRARIES")
43     get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
44     get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
45     get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
46
47     add_library(SimGearCore SHARED ${coreSources})
48
49   # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
50   #  message(STATUS "public header: ${publicHeaders}")
51   #  set_property(TARGET SimGearCore PROPERTY PUBLIC_HEADER "${publicHeaders}")
52     set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
53
54     set_property(TARGET SimGearCore PROPERTY VERSION   ${SIMGEAR_VERSION})
55     set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
56
57     target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY})
58     install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
59
60     if(LIBSVN_FOUND)
61         add_definitions(${APR_CFLAGS})
62         include_directories(${LIBSVN_INCLUDE_DIR})
63         target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES})
64     endif(LIBSVN_FOUND)
65
66     if(NOT SIMGEAR_HEADLESS)
67         add_library(SimGearScene SHARED ${sceneSources})
68       # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1)
69       # set_property(TARGET SimGearScene PROPERTY PUBLIC_HEADER "${publicHeaders}")
70         set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
71         set_property(TARGET SimGearScene PROPERTY VERSION   ${SIMGEAR_VERSION})
72         set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
73
74         target_link_libraries(SimGearScene
75             SimGearCore
76             ${ZLIB_LIBRARY}
77             ${OPENSCENEGRAPH_LIBRARIES}
78             ${OPENAL_LIBRARY} ${ALUT_LIBRARY}
79             ${OPENGL_LIBRARY}
80             ${JPEG_LIBRARY})
81     
82         install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
83     endif()
84
85 else()
86     message(STATUS "Library building mode: STATIC LIBRARIES")
87 endif(SIMGEAR_SHARED)
88