]> git.mxchange.org Git - simgear.git/blobdiff - simgear/CMakeLists.txt
Fixes for error handling in NetChannel
[simgear.git] / simgear / CMakeLists.txt
index 62f4a4052a0a4e385d56c22794e256e2ae955ede..59768334b9880a5b8a88242c08868ce0073f4cf4 100644 (file)
@@ -1,7 +1,7 @@
 
 file(WRITE ${PROJECT_BINARY_DIR}/simgear/version.h "#define SIMGEAR_VERSION ${SIMGEAR_VERSION}")
 
-foreach( mylibfolder 
+foreach( mylibfolder
         bucket
         bvh
         debug
@@ -11,12 +11,14 @@ foreach( mylibfolder
         math
         misc
         nasal
+        nasal/cppbind
         props
         serial
         structure
         threads
         timing
         xml
+        package
     )
 
     add_subdirectory(${mylibfolder})
@@ -24,6 +26,7 @@ foreach( mylibfolder
 endforeach( mylibfolder )
 
 if(NOT SIMGEAR_HEADLESS)
+    add_subdirectory(canvas)
     add_subdirectory(environment)
     add_subdirectory(screen)
     add_subdirectory(scene)
@@ -42,64 +45,104 @@ install (FILES ${HEADERS}  DESTINATION include/simgear/)
 get_property(coreSources GLOBAL PROPERTY CORE_SOURCES)
 get_property(sceneSources GLOBAL PROPERTY SCENE_SOURCES)
 get_property(publicHeaders GLOBAL PROPERTY PUBLIC_HEADERS)
-
-if(LIBSVN_FOUND)
-       add_definitions(${APR_CFLAGS})
-       include_directories(${LIBSVN_INCLUDE_DIR})
-endif()
+get_property(localExpatSources GLOBAL PROPERTY LOCAL_EXPAT_SOURCES)
 
 if(SIMGEAR_SHARED)
     message(STATUS "Library building mode: SHARED LIBRARIES")
-    add_library(SimGearCore SHARED ${coreSources})
+    add_library(SimGearCore SHARED ${coreSources} ${localExpatSources})
 
-  # set_property(TARGET SimGearCore PROPERTY FRAMEWORK 1)
-  #  message(STATUS "public header: ${publicHeaders}")
-  #  set_property(TARGET SimGearCore PROPERTY PUBLIC_HEADER "${publicHeaders}")
     set_property(TARGET SimGearCore PROPERTY LINKER_LANGUAGE CXX)
-
     set_property(TARGET SimGearCore PROPERTY VERSION   ${SIMGEAR_VERSION})
     set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
-
-    target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} 
-        ${EXPAT_LIBRARIES}
-        ${CMAKE_THREAD_LIBS_INIT})
-
-    if(LIBSVN_FOUND)
-        target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES})
-    endif(LIBSVN_FOUND)
+    install(TARGETS SimGearCore
+            EXPORT SimGearTargets
+            LIBRARY DESTINATION
+            ${CMAKE_INSTALL_LIBDIR})
 
     if(NOT SIMGEAR_HEADLESS)
         add_library(SimGearScene SHARED ${sceneSources})
-      # set_property(TARGET SimGearScene PROPERTY FRAMEWORK 1)
-      # set_property(TARGET SimGearScene PROPERTY PUBLIC_HEADER "${publicHeaders}")
         set_property(TARGET SimGearScene PROPERTY LINKER_LANGUAGE CXX)
         set_property(TARGET SimGearScene PROPERTY VERSION   ${SIMGEAR_VERSION})
         set_property(TARGET SimGearScene PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
 
-        target_link_libraries(SimGearScene
-            SimGearCore
-            ${ZLIB_LIBRARY}
-            ${OPENSCENEGRAPH_LIBRARIES}
-            ${OPENAL_LIBRARY}
-            ${OPENGL_LIBRARY}
-            ${JPEG_LIBRARY})
-    
-        install(TARGETS SimGearScene LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        # EXPORT SimGearSceneConfig
+        install(TARGETS SimGearScene
+                EXPORT SimGearTargets
+                LIBRARY
+                DESTINATION ${CMAKE_INSTALL_LIBDIR} )
     endif()
-    
-    install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
 else()
     message(STATUS "Library building mode: STATIC LIBRARIES")
-    
-    add_library(SimGearCore STATIC ${coreSources})
-    install(TARGETS SimGearCore ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-    
+
+       get_property(FG_GROUPS_CORE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_C)
+       string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_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_CORE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_CORE_SOURCES_H)
+       string(REPLACE "@" ";" groups ${FG_GROUPS_CORE_SOURCES_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()
+
+    add_library(SimGearCore STATIC ${coreSources} ${localExpatSources})
+    install(TARGETS SimGearCore
+            EXPORT SimGearTargets
+            ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
     if(NOT SIMGEAR_HEADLESS)
+               get_property(FG_GROUPS_SCENE_SOURCES_C GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_C)
+               string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_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_SCENE_SOURCES_H GLOBAL PROPERTY FG_GROUPS_SCENE_SOURCES_H)
+               string(REPLACE "@" ";" groups ${FG_GROUPS_SCENE_SOURCES_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()
+
         add_library(SimGearScene STATIC ${sceneSources})
-        install(TARGETS SimGearScene ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        install(TARGETS SimGearScene
+                EXPORT SimGearTargets
+                ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
     endif(NOT SIMGEAR_HEADLESS)
 endif(SIMGEAR_SHARED)
 
+target_link_libraries(SimGearCore
+    ${ZLIB_LIBRARY}
+    ${RT_LIBRARY}
+    ${DL_LIBRARY}
+    ${EXPAT_LIBRARIES}
+    ${CMAKE_THREAD_LIBS_INIT}
+    ${COCOA_LIBRARY}
+    ${CURL_LIBRARIES})
+
+if(NOT SIMGEAR_HEADLESS)
+    target_link_libraries(SimGearScene
+        SimGearCore
+        ${ZLIB_LIBRARY}
+        ${OPENSCENEGRAPH_LIBRARIES}
+        ${OPENAL_LIBRARY}
+        ${OPENGL_LIBRARY}
+        ${JPEG_LIBRARY})
+endif()
+
 if(ENABLE_RTI)
     # Ugly first aid to make hla compile agian
     set_property(SOURCE hla/RTI13InteractionClass.cxx hla/RTI13ObjectClass.cxx