]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/CMakeLists.txt
Make HTTPClient a proper subsystem.
[flightgear.git] / src / Main / CMakeLists.txt
index b48d88a701c1c12baddef822e9aae9dde18f2a0e..b6e00a208909688c9b833f079b6724f62835a7c7 100644 (file)
@@ -1,34 +1,76 @@
 
 if (MSVC)
-       set( RESOURCE_FILE flightgear.rc )
+       if (CMAKE_CL_64)
+               set( RESOURCE_FILE flightgear64.rc )
+       else (CMAKE_CL_64)
+               set( RESOURCE_FILE flightgear.rc )
+       endif (CMAKE_CL_64)
 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}
        )
-       
-add_executable(fgfs ${SOURCES})
+
+set(HEADERS
+       fg_commands.hxx
+       fg_init.hxx
+       fg_io.hxx
+       fg_props.hxx
+       globals.hxx
+       locale.hxx
+       logger.hxx
+       main.hxx
+       options.hxx
+       util.hxx
+    positioninit.hxx
+    subsystemFactory.hxx
+       )
+
+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}")
@@ -36,23 +78,45 @@ get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
 #message(STATUS "SG libs ${SIMGEAR_LIBRARIES}")
 
 if(RTI_FOUND)
-  find_sg_component(hla13 SIMGEAR_LIBRARIES)
-  find_sg_component(hla SIMGEAR_LIBRARIES)
-  set(HLA_LIBRARIES ${RTI_LIBRARIES})
+       set(HLA_LIBRARIES ${RTI_LIBRARIES})
 else()
-  set(HLA_LIBRARIES "")
+       set(HLA_LIBRARIES "")
 endif()
 
-target_link_libraries(fgfs 
-       ${FG_LIBS}
-        ${HLA_LIBRARIES}
+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
+       ${SQLITE3_LIBRARY}
        ${SIMGEAR_LIBRARIES}
-       ${OPENSCENEGRAPH_LIBRARIES} 
-       ${OPENAL_LIBRARY} 
+       ${OPENSCENEGRAPH_LIBRARIES}
        ${OPENGL_LIBRARIES}
-       ${ALUT_LIBRARY} 
-       ${ZLIB_LIBRARIES}
        ${PLIB_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)