[geos-commits] r4253 - in trunk: . src

Sandro Santilli strk at kbt.io
Fri Sep 2 04:10:24 PDT 2016


Author: strk
Date: 2016-09-02 04:10:23 -0700 (Fri, 02 Sep 2016)
New Revision: 4253

Modified:
   trunk/CMakeLists.txt
   trunk/src/CMakeLists.txt
Log:
Add option to build static and shared. (default is build both)

Fixes #788
Patch by Rashad Kanavath <rashad.kanavath at c-s.fr>

Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt	2016-09-02 11:09:52 UTC (rev 4252)
+++ trunk/CMakeLists.txt	2016-09-02 11:10:23 UTC (rev 4253)
@@ -66,6 +66,12 @@
     "Set to ON|OFF (default) to build GEOS with assert() macro enabled" OFF)
 endif()
 
+option(GEOS_BUILD_STATIC
+  "Set to OFF|ON (default) to build GEOS static libraries" ON)
+
+option(GEOS_BUILD_SHARED
+  "Set to OFF|ON (default) to build GEOS shared libraries" ON)
+
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
   option(GEOS_ENABLE_FLOATSTORE
     "Set to OFF|ON (default) to control IEEE754 conformance and remove extra precision" ON)

Modified: trunk/src/CMakeLists.txt
===================================================================
--- trunk/src/CMakeLists.txt	2016-09-02 11:09:52 UTC (rev 4252)
+++ trunk/src/CMakeLists.txt	2016-09-02 11:10:23 UTC (rev 4253)
@@ -61,23 +61,39 @@
 
 else()
 
-  add_library(geos SHARED ${geos_SOURCES} ${geos_ALL_HEADERS})
-  add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
+  if(GEOS_BUILD_SHARED)
+    add_library(geos SHARED ${geos_SOURCES} ${geos_ALL_HEADERS})
 
-  set_target_properties(geos
-    PROPERTIES
-    DEFINE_SYMBOL GEOS_DLL_EXPORT
-    VERSION ${VERSION}
-    CLEAN_DIRECT_OUTPUT 1)
+    set_target_properties(geos
+      PROPERTIES
+      DEFINE_SYMBOL GEOS_DLL_EXPORT
+      VERSION ${VERSION}
+      CLEAN_DIRECT_OUTPUT 1)
 
-  set_target_properties(geos-static
-    PROPERTIES
-    OUTPUT_NAME "geos"
-    PREFIX "lib"
-    CLEAN_DIRECT_OUTPUT 1)
+    install(TARGETS geos
+      RUNTIME DESTINATION bin
+      LIBRARY DESTINATION lib
+      ARCHIVE DESTINATION lib)
+  endif()
 
-endif()
+  if(GEOS_BUILD_STATIC)
+    add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
 
+    set_target_properties(geos-static
+      PROPERTIES
+      OUTPUT_NAME "geos"
+      PREFIX "lib"
+      CLEAN_DIRECT_OUTPUT 1)
+
+    install(TARGETS geos-static
+      RUNTIME DESTINATION bin
+      LIBRARY DESTINATION lib
+      ARCHIVE DESTINATION lib)
+
+  endif()
+
+endif() # (GEOS_ENABLE_MACOSX_FRAMEWORK)
+
 # if(APPLE)
 #   set_target_properties(geos
 #     PROPERTIES
@@ -85,17 +101,7 @@
 #     INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}")
 # endif()
 
-#################################################################################
-# Installation
-#################################################################################
 
-if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK)
-  install(TARGETS geos geos-static
-    RUNTIME DESTINATION bin
-    LIBRARY DESTINATION lib
-    ARCHIVE DESTINATION lib)
-endif()
-
 #################################################################################
 # Group source files for IDE source explorers (e.g. Visual Studio)
 #################################################################################



More information about the geos-commits mailing list