]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/CMakeLists.txt
Make HTTPClient a proper subsystem.
[flightgear.git] / src / Main / CMakeLists.txt
index 5818335d36ef1b3c5f7ca3378b9ebb98f3f507af..b6e00a208909688c9b833f079b6724f62835a7c7 100644 (file)
@@ -8,52 +8,69 @@ if (MSVC)
 endif (MSVC)
 
 set(SOURCES
-       CameraGroup.cxx
-       FGEventHandler.cxx
-       WindowBuilder.cxx
-       WindowSystemAdapter.cxx
        bootstrap.cxx
        fg_commands.cxx
        fg_init.cxx
        fg_io.cxx
        fg_os_common.cxx
-       fg_os_osgviewer.cxx
        fg_props.cxx
-       fgviewer.cxx
        globals.cxx
+       locale.cxx
        logger.cxx
        main.cxx
        options.cxx
-       renderer.cxx
-       splash.cxx
        util.cxx
-       viewer.cxx
-       viewmgr.cxx
+    positioninit.cxx
+    subsystemFactory.cxx
        ${RESOURCE_FILE}
        )
 
 set(HEADERS
-       CameraGroup.hxx
-       FGEventHandler.hxx
-       WindowBuilder.hxx
-       WindowSystemAdapter.hxx
        fg_commands.hxx
        fg_init.hxx
        fg_io.hxx
        fg_props.hxx
-       fgviewer.hxx
        globals.hxx
+       locale.hxx
        logger.hxx
        main.hxx
        options.hxx
-       renderer.hxx
-       splash.hxx
        util.hxx
-       viewer.hxx
-       viewmgr.hxx
+    positioninit.hxx
+    subsystemFactory.hxx
        )
 
-add_executable(fgfs ${SOURCES} ${HEADERS})
+get_property(FG_SOURCES GLOBAL PROPERTY FG_SOURCES)
+get_property(FG_HEADERS GLOBAL PROPERTY FG_HEADERS)
+
+link_directories ( ${Boost_LIBRARY_DIRS} )
+
+get_property(FG_GROUPS_C GLOBAL PROPERTY FG_GROUPS_C)
+string(REPLACE "@" ";" groups ${FG_GROUPS_C} )
+foreach(g ${groups})
+       string(REPLACE "#" ";" g2 ${g})
+       list(GET g2 0 name)
+       list(REMOVE_AT g2 0)
+       source_group("${name}\\Sources" FILES ${g2})
+endforeach()
+
+get_property(FG_GROUPS_H GLOBAL PROPERTY FG_GROUPS_H)
+string(REPLACE "@" ";" groups ${FG_GROUPS_H} )
+foreach(g ${groups})
+       string(REPLACE "#" ";" g2 ${g})
+       list(GET g2 0 name)
+       list(REMOVE_AT g2 0)
+       source_group("${name}\\Headers" FILES ${g2})
+endforeach()
+
+source_group("Main\\Headers" FILES ${HEADERS})
+source_group("Main\\Sources" FILES ${SOURCES})
+add_executable(fgfs ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
+
+# disable sqlite3 dynamic lib support
+# this should really be a SOURCE property, but the way we handle
+# Fcomponent sources is making that tricky
+add_definitions(-DSQLITE_OMIT_LOAD_EXTENSION)
 
 get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
 #message(STATUS "fg libs ${FG_LIBS}")
@@ -61,25 +78,45 @@ get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
 #message(STATUS "SG libs ${SIMGEAR_LIBRARIES}")
 
 if(RTI_FOUND)
-  find_sg_component(hla SIMGEAR_LIBRARIES)
-  find_sg_component(rti13 SIMGEAR_LIBRARIES)
-  find_sg_component(rti SIMGEAR_LIBRARIES)
-  set(HLA_LIBRARIES ${RTI_LIBRARIES})
+       set(HLA_LIBRARIES ${RTI_LIBRARIES})
 else()
-  set(HLA_LIBRARIES "")
+       set(HLA_LIBRARIES "")
+endif()
+
+if(ENABLE_JSBSIM)
+    # FIXME - remove once JSBSim doesn't expose private headers
+    include_directories(${PROJECT_SOURCE_DIR}/src/FDM/JSBSim)
+    
+    target_link_libraries(fgfs JSBSim)
+endif()
+
+if(FG_HAVE_GPERFTOOLS)
+    target_link_libraries(fgfs profiler tcmalloc)
 endif()
 
 target_link_libraries(fgfs
-       ${FG_LIBS}
-       ${HLA_LIBRARIES}
+       ${SQLITE3_LIBRARY}
        ${SIMGEAR_LIBRARIES}
        ${OPENSCENEGRAPH_LIBRARIES}
-       ${OPENAL_LIBRARY}
        ${OPENGL_LIBRARIES}
-       ${ALUT_LIBRARY}
-       ${ZLIB_LIBRARIES}
        ${PLIB_LIBRARIES}
-       ${LIBSVN_LIBRARIES}
-       ${RT_LIBRARY})
+       ${JPEG_LIBRARY}
+       ${HLA_LIBRARIES}
+       ${EVENT_INPUT_LIBRARIES}
+       ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
+       ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
+       ${PLATFORM_LIBS}
+)
 
 install(TARGETS fgfs RUNTIME DESTINATION bin)
+
+add_executable(metar metar_main.cxx)
+
+target_link_libraries(metar
+       ${SIMGEAR_LIBRARIES}
+       ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
+       ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
+       ${PLATFORM_LIBS}
+)
+
+install(TARGETS metar RUNTIME DESTINATION bin)