]> git.mxchange.org Git - flightgear.git/blob - src/Main/CMakeLists.txt
Support a --no-default-config option.
[flightgear.git] / src / Main / CMakeLists.txt
1
2 if (MSVC)
3         if (CMAKE_CL_64)
4                 set( RESOURCE_FILE flightgear64.rc )
5         else (CMAKE_CL_64)
6                 set( RESOURCE_FILE flightgear.rc )
7         endif (CMAKE_CL_64)
8 endif (MSVC)
9
10 set(SOURCES
11         bootstrap.cxx
12         fg_commands.cxx
13         fg_init.cxx
14         fg_io.cxx
15         fg_os_common.cxx
16         fg_props.cxx
17         globals.cxx
18         locale.cxx
19         logger.cxx
20         main.cxx
21         options.cxx
22         util.cxx
23     positioninit.cxx
24         ${RESOURCE_FILE}
25         )
26
27 set(HEADERS
28         fg_commands.hxx
29         fg_init.hxx
30         fg_io.hxx
31         fg_props.hxx
32         globals.hxx
33         locale.hxx
34         logger.hxx
35         main.hxx
36         options.hxx
37         util.hxx
38     positioninit.hxx
39         )
40
41 get_property(FG_SOURCES GLOBAL PROPERTY FG_SOURCES)
42 get_property(FG_HEADERS GLOBAL PROPERTY FG_HEADERS)
43
44 link_directories ( ${Boost_LIBRARY_DIRS} )
45
46 get_property(FG_GROUPS_C GLOBAL PROPERTY FG_GROUPS_C)
47 string(REPLACE "@" ";" groups ${FG_GROUPS_C} )
48 foreach(g ${groups})
49         string(REPLACE "#" ";" g2 ${g})
50         list(GET g2 0 name)
51         list(REMOVE_AT g2 0)
52         source_group("${name}\\Sources" FILES ${g2})
53 endforeach()
54
55 get_property(FG_GROUPS_H GLOBAL PROPERTY FG_GROUPS_H)
56 string(REPLACE "@" ";" groups ${FG_GROUPS_H} )
57 foreach(g ${groups})
58         string(REPLACE "#" ";" g2 ${g})
59         list(GET g2 0 name)
60         list(REMOVE_AT g2 0)
61         source_group("${name}\\Headers" FILES ${g2})
62 endforeach()
63
64 source_group("Main\\Headers" FILES ${HEADERS})
65 source_group("Main\\Sources" FILES ${SOURCES})
66 add_executable(fgfs ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
67
68 # disable sqlite3 dynamic lib support
69 # this should really be a SOURCE property, but the way we handle
70 # Fcomponent sources is making that tricky
71 add_definitions(-DSQLITE_OMIT_LOAD_EXTENSION)
72
73 get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
74 #message(STATUS "fg libs ${FG_LIBS}")
75 #message(STATUS "OSG libs ${OPENSCENEGRAPH_LIBRARIES}")
76 #message(STATUS "SG libs ${SIMGEAR_LIBRARIES}")
77
78 if(RTI_FOUND)
79         set(HLA_LIBRARIES ${RTI_LIBRARIES})
80 else()
81         set(HLA_LIBRARIES "")
82 endif()
83
84 if(ENABLE_JSBSIM)
85     # FIXME - remove once JSBSim doesn't expose private headers
86     include_directories(${PROJECT_SOURCE_DIR}/src/FDM/JSBSim)
87     
88     target_link_libraries(fgfs JSBSim)
89 endif()
90
91 include_directories(${PROJECT_SOURCE_DIR}/src/Canvas/ShivaVG/include)
92 add_definitions(-DVG_API_EXPORT)
93
94 target_link_libraries(fgfs
95         ${SQLITE3_LIBRARY}
96         ${SIMGEAR_LIBRARIES}
97         ${OPENSCENEGRAPH_LIBRARIES}
98         ${OPENGL_LIBRARIES}
99         ${PLIB_LIBRARIES}
100         ${JPEG_LIBRARY}
101         ${HLA_LIBRARIES}
102         ${EVENT_INPUT_LIBRARIES}
103         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
104         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
105         ${PLATFORM_LIBS}
106         ShivaVG
107 )
108
109 install(TARGETS fgfs RUNTIME DESTINATION bin)
110
111 add_executable(metar metar_main.cxx)
112
113 target_link_libraries(metar
114         ${SIMGEAR_LIBRARIES}
115         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
116         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
117         ${PLATFORM_LIBS}
118 )
119
120 install(TARGETS metar RUNTIME DESTINATION bin)