]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/CMakeLists.txt
Interim windows build fix
[flightgear.git] / src / Main / CMakeLists.txt
index eb072b47d804b9d12aa34a5ae92a90788e237a3b..4ea0fe523bf115bab90c07eafa1191e66c10563d 100644 (file)
@@ -70,7 +70,34 @@ source_group("Main\\Sources" FILES ${SOURCES})
 # important we pass WIN32 here so the console is optional. Other
 # platforms ignore this option. If a console is needed we allocate
 # it manually via AllocConsole()
-add_executable(fgfs WIN32 ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
+# similarly pass MACOSX_BUNDLE so we generate a .app on Mac
+add_executable(fgfs WIN32 MACOSX_BUNDLE
+                ${SOURCES} ${FG_SOURCES} ${FG_HEADERS} ${HEADERS})
+
+#-----------------------------------------------------------------------------
+# MacOSX bundle packagaing
+
+if(APPLE)
+    execute_process(COMMAND date +%Y
+        OUTPUT_VARIABLE CURRENT_YEAR
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+        
+    # in our local CMakeModules dir
+    set_target_properties(fgfs PROPERTIES
+        MACOSX_BUNDLE_INFO_PLIST FlightGearBundleInfo.plist.in
+        MACOSX_BUNDLE_GUI_IDENTIFIER "org.flightgear.FlightGear"
+        MACOSX_BUNDLE_SHORT_VERSION_STRING ${FLIGHTGEAR_VERSION}
+        MACOSX_BUNDLE_LONG_VERSION_STRING "FlightGear ${FLIGHTGEAR_VERSION} Nightly"
+        MACOSX_BUNDLE_BUNDLE_VERSION ${FLIGHTGEAR_VERSION}
+        MACOSX_BUNDLE_COPYRIGHT "FlightGear ${FLIGHTGEAR_VERSION} © 1997-${CURRENT_YEAR}, The FlightGear Project. Licensed under the GNU Public License version 2."
+        MACOSX_BUNDLE_INFO_STRING "Nightly build of FlightGear ${FLIGHTGEAR_VERSION} for testing and development"
+        MACOSX_BUNDLE_BUNDLE_NAME "FlightGear"
+        MACOSX_BUNDLE_ICON_FILE "FlightGear.icns"
+    )
+endif()
+
+#-----------------------------------------------------------------------------
 
 get_property(FG_LIBS GLOBAL PROPERTY FG_LIBS)
 #message(STATUS "fg libs ${FG_LIBS}")
@@ -100,22 +127,43 @@ if(FG_HAVE_GPERFTOOLS)
     target_link_libraries(fgfs ${GooglePerfTools_LIBRARIES})
 endif()
 
+if (CRASHRPT_FOUND)
+       target_link_libraries(fgfs ${CRASHRPT_LIBRARY})
+endif()
+if(X11_FOUND)
+    target_link_libraries(fgfs ${X11_LIBRARIES})
+endif()
 target_link_libraries(fgfs
        ${SQLITE3_LIBRARY}
        ${SIMGEAR_LIBRARIES}
        ${OPENSCENEGRAPH_LIBRARIES}
        ${OPENGL_LIBRARIES}
        ${PLIB_LIBRARIES}
-       ${JPEG_LIBRARY}
+        ${ZLIB_LIBRARY}
        ${HLA_LIBRARIES}
        ${EVENT_INPUT_LIBRARIES}
-       ${CRASHRPT_LIBRARY}
        ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
        ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}
        ${PLATFORM_LIBS}
 )
 
-install(TARGETS fgfs RUNTIME DESTINATION bin)
+if(ENABLE_FLITE)
+    if(SYSTEM_HTS_ENGINE)
+        target_link_libraries(fgfs flite_hts ${HTS_ENGINE_LIBRARIES})
+    else()
+        target_link_libraries(fgfs flite_hts hts_engine)
+    endif()
+endif()
+
+if (Qt5Core_FOUND)
+    target_link_libraries(fgfs Qt5::Widgets fglauncher)
+endif()
+
+if (APPLE)  
+    install(TARGETS fgfs BUNDLE DESTINATION .)
+else()
+    install(TARGETS fgfs RUNTIME DESTINATION bin)
+endif()
 
 if(ENABLE_METAR)
     add_executable(metar metar_main.cxx)