]> git.mxchange.org Git - flightgear.git/blob - src/Main/CMakeLists.txt
Sort fgfs source files in IDE folders
[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         ${RESOURCE_FILE}
24         )
25
26 set(HEADERS
27         fg_commands.hxx
28         fg_init.hxx
29         fg_io.hxx
30         fg_props.hxx
31         globals.hxx
32         locale.hxx
33         logger.hxx
34         main.hxx
35         options.hxx
36         util.hxx
37         )
38
39 get_property(FG_SOURCES GLOBAL PROPERTY FG_SOURCES)
40 get_property(FG_HEADERS GLOBAL PROPERTY FG_HEADERS)
41
42 link_directories ( ${Boost_LIBRARY_DIRS} )
43
44 get_property(FG_GROUPS_C GLOBAL PROPERTY FG_GROUPS_C)
45 string(REPLACE "@" ";" groups ${FG_GROUPS_C} )
46 foreach(g ${groups})
47         string(REPLACE "#" ";" g2 ${g})
48         list(GET g2 0 name)
49         list(REMOVE_AT g2 0)
50         source_group("${name}\\Sources" FILES ${g2})
51 endforeach()
52
53 get_property(FG_GROUPS_H GLOBAL PROPERTY FG_GROUPS_H)
54 string(REPLACE "@" ";" groups ${FG_GROUPS_H} )
55 foreach(g ${groups})
56         string(REPLACE "#" ";" g2 ${g})
57         list(GET g2 0 name)
58         list(REMOVE_AT g2 0)
59         source_group("${name}\\Headers" FILES ${g2})
60 endforeach()
61
62 source_group("Main\\Headers" FILES ${HEADERS})
63 source_group("Main\\Sources" FILES ${SOURCES})
64 add_executable(fgfs ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
65
66 get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
67 #message(STATUS "fg libs ${FG_LIBS}")
68 #message(STATUS "OSG libs ${OPENSCENEGRAPH_LIBRARIES}")
69 #message(STATUS "SG libs ${SIMGEAR_LIBRARIES}")
70
71 if(RTI_FOUND)
72         find_sg_component(hla SIMGEAR_LIBRARIES)
73         find_sg_component(rti13 SIMGEAR_LIBRARIES)
74         find_sg_component(rti SIMGEAR_LIBRARIES)
75         set(HLA_LIBRARIES ${RTI_LIBRARIES})
76 else()
77         set(HLA_LIBRARIES "")
78 endif()
79
80 if(ENABLE_JSBSIM)
81     # FIXME - remove once JSBSim doesn't expose private headers
82     include_directories(${PROJECT_SOURCE_DIR}/src/FDM/JSBSim)
83     
84     target_link_libraries(fgfs JSBSim)
85 endif()
86
87 include_directories(${PROJECT_SOURCE_DIR}/src/Canvas/ShivaVG/include)
88 add_definitions(-DVG_API_EXPORT)
89
90 target_link_libraries(fgfs
91         ${SIMGEAR_LIBRARIES}
92         ${OPENSCENEGRAPH_LIBRARIES}
93         ${OPENGL_LIBRARIES}
94         ${PLIB_LIBRARIES}
95         ${JPEG_LIBRARY}
96         ${HLA_LIBRARIES}
97         ${EVENT_INPUT_LIBRARIES}
98         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
99         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
100         ${PLATFORM_LIBS}
101         ShivaVG
102 )
103
104 install(TARGETS fgfs RUNTIME DESTINATION bin)
105
106 add_executable(metar metar_main.cxx)
107
108 target_link_libraries(metar
109         ${SIMGEAR_LIBRARIES}
110         ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
111         ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
112         ${PLATFORM_LIBS}
113 )
114
115 install(TARGETS metar RUNTIME DESTINATION bin)