[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