$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
)
+# Allow to build static and shared libraries at the same time
+if (BUILD_STATIC_LIBS)
+ set(ORIGINAL_STATIC_LIB_NAME ${PROJECT_NAME}-static)
+ add_library(${ORIGINAL_STATIC_LIB_NAME} STATIC
+ ${JSON_C_SOURCES}
+ ${JSON_C_HEADERS}
+ )
+
+ # rename the static library
+ set_target_properties(${ORIGINAL_STATIC_LIB_NAME} PROPERTIES
+ OUTPUT_NAME ${PROJECT_NAME}
+ )
+
+ target_include_directories(${PROJECT_NAME}
+ PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+endif ()
+
# Always create new install dirs with 0755 permissions, regardless of umask
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
OWNER_READ
CMAKE_INSTALL_PREFIX | String | The install location.
CMAKE_BUILD_TYPE | String | Defaults to "debug"
BUILD_SHARED_LIBS | Bool | The default build generates a dynamic (dll/so) library. Set this to OFF to create a static library instead.
+BUILD_STATIC_LIBS | Bool | This build generates a static (lib/a) library.
ENABLE_RDRAND | Bool | Enable RDRAND Hardware RNG Hash Seed
ENABLE_THREADING | Bool | Enable partial threading support
DISABLE_WERROR | Bool | Disable use of -Werror
Pass these options as `-D` on CMake's command-line.
```sh
-cmake -DBUILD_SHARED_LIBS=OFF ...
+# build a static library
+cmake -DBUILD_SHARED_LIBS=OFF ..
+```
+
+Allow to build both static and shared libraries.
+
+```sh
+cmake -DBUILD_STATIC_LIBS=ON ..
```
### Building with partial threading support