mirror of
https://github.com/json-c/json-c.git
synced 2026-03-24 15:39:07 +08:00
support to build both static and shared libraries
This commit is contained in:
@@ -400,6 +400,26 @@ target_include_directories(${PROJECT_NAME}
|
||||
$<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
|
||||
|
||||
10
README.md
10
README.md
@@ -98,6 +98,7 @@ Variable | Type | Description
|
||||
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
|
||||
@@ -106,7 +107,14 @@ DISABLE_BSYMBOLIC | Bool | Disable use of -Bsymbolic-functions
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user