]> git.mxchange.org Git - flightgear.git/blob - src/Main/CMakeLists.txt
Reset: clear effects cache
[flightgear.git] / src / Main / CMakeLists.txt
1
2 if (MSVC)
3         set( RESOURCE_FILE flightgear.rc )
4 endif (MSVC)
5
6 set(SOURCES
7         bootstrap.cxx
8         fg_commands.cxx
9         fg_init.cxx
10         fg_io.cxx
11         fg_os_common.cxx
12         fg_props.cxx
13         FGInterpolator.cxx
14         globals.cxx
15         locale.cxx
16         logger.cxx
17         main.cxx
18         options.cxx
19         util.cxx
20     positioninit.cxx
21     subsystemFactory.cxx
22         ${RESOURCE_FILE}
23         )
24
25 set(HEADERS
26         fg_commands.hxx
27         fg_init.hxx
28         fg_io.hxx
29         fg_props.hxx
30         FGInterpolator.hxx
31         globals.hxx
32         locale.hxx
33         logger.hxx
34         main.hxx
35         options.hxx
36         util.hxx
37     positioninit.hxx
38     subsystemFactory.hxx
39     AircraftDirVisitorBase.hxx
40         )
41
42 get_property(FG_SOURCES GLOBAL PROPERTY FG_SOURCES)
43 get_property(FG_HEADERS GLOBAL PROPERTY FG_HEADERS)
44
45 link_directories ( ${Boost_LIBRARY_DIRS} )
46
47 get_property(FG_GROUPS_C GLOBAL PROPERTY FG_GROUPS_C)
48 string(REPLACE "@" ";" groups ${FG_GROUPS_C} )
49 foreach(g ${groups})
50         string(REPLACE "#" ";" g2 ${g})
51         list(GET g2 0 name)
52         list(REMOVE_AT g2 0)
53         source_group("${name}\\Sources" FILES ${g2})
54 endforeach()
55
56 get_property(FG_GROUPS_H GLOBAL PROPERTY FG_GROUPS_H)
57 string(REPLACE "@" ";" groups ${FG_GROUPS_H} )
58 foreach(g ${groups})
59         string(REPLACE "#" ";" g2 ${g})
60         list(GET g2 0 name)
61         list(REMOVE_AT g2 0)
62         source_group("${name}\\Headers" FILES ${g2})
63 endforeach()
64
65 source_group("Main\\Headers" FILES ${HEADERS})
66 source_group("Main\\Sources" FILES ${SOURCES})
67
68 # important we pass WIN32 here so the console is optional. Other
69 # platforms ignore this option. If a console is needed we allocate
70 # it manually via AllocConsole()
71 add_executable(fgfs WIN32 ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
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 if(ENABLE_IAX)
91     target_link_libraries(fgfs iaxclient_lib ${OPENAL_LIBRARY})
92 endif()
93 if(FG_HAVE_GPERFTOOLS)
94     include_directories(${GooglePerfTools_INCLUDE_DIR})
95     target_link_libraries(fgfs ${GooglePerfTools_LIBRARIES})
96 endif()
97
98 target_link_libraries(fgfs
99         ${SQLITE3_LIBRARY}
100         ${SIMGEAR_LIBRARIES}
101         ${OPENSCENEGRAPH_LIBRARIES}
102         ${OPENGL_LIBRARIES}
103         ${PLIB_LIBRARIES}
104         ${JPEG_LIBRARY}
105         ${HLA_LIBRARIES}
106         ${EVENT_INPUT_LIBRARIES}
107         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
108         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
109         ${PLATFORM_LIBS}
110 )
111
112 install(TARGETS fgfs RUNTIME DESTINATION bin)
113
114 if(ENABLE_METAR)
115     add_executable(metar metar_main.cxx)
116     target_link_libraries(metar
117         ${SIMGEAR_LIBRARIES}
118         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
119         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
120         ${PLATFORM_LIBS}
121     )
122
123     install(TARGETS metar RUNTIME DESTINATION bin)
124 endif()