]> git.mxchange.org Git - simgear.git/blob - simgear/CMakeLists.txt
Correct dependency of shared simgear libraries with enabled JPEG_FACTORY.
[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         route
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 if(SIMGEAR_SHARED)
43     message(STATUS "building shared library")
44     get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
45     get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
46     get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
47
48     add_library(SimGearCore SHARED ${coreSources})
49     set_property(TARGET SimGearCore PROPERTY COMPILE_FLAGS "-DNO_OPENSCENEGRAPH_INTERFACE=1")
50     
51   # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
52   #  message(STATUS "public header: ${publicHeaders}")
53   #  set_property(TARGET SimGearCore PROPERTY PUBLIC_HEADER "${publicHeaders}")
54     set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
55
56     set_property(TARGET SimGearCore PROPERTY VERSION   ${SIMGEAR_VERSION})
57     set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
58
59     target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} ${JPEG_LIBRARY})
60     install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
61
62     if(NOT SIMGEAR_HEADLESS)
63         if(LIBSVN_FOUND)
64             add_definitions(${APR_CFLAGS})
65
66             IF(APPLE)
67                 set_property(SOURCE scene/tsync/terrasync.cxx PROPERTY COMPILE_FLAGS "-iwithsysroot ${LIBSVN_INCLUDE_DIR}")
68             ELSE()
69                 include_directories(${LIBSVN_INCLUDE_DIR})
70             ENDIF(APPLE)
71         endif(LIBSVN_FOUND)
72         
73         list(APPEND sceneSources scene/util/SGCoreOSGDependant.cxx)
74         
75         add_library(SimGearScene SHARED ${sceneSources})
76       # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1)
77       # set_property(TARGET SimGearScene PROPERTY PUBLIC_HEADER "${publicHeaders}")
78         set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
79         set_property(TARGET SimGearScene PROPERTY VERSION   ${SIMGEAR_VERSION})
80         set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
81     
82         target_link_libraries(SimGearScene 
83             SimGearCore
84             ${ZLIB_LIBRARY} 
85             ${OPENSCENEGRAPH_LIBRARIES} 
86             ${OPENAL_LIBRARY} ${ALUT_LIBRARY}
87             ${OPENGL_LIBRARY})
88     
89         if(LIBSVN_FOUND)
90             target_link_libraries(SimGearScene ${LIBSVN_LIBRARIES})
91         endif(LIBSVN_FOUND)
92
93         install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
94     endif()
95    
96 endif(SIMGEAR_SHARED)
97