mirror of
https://github.com/json-c/json-c.git
synced 2026-04-10 15:59: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}>
|
$<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
|
# Always create new install dirs with 0755 permissions, regardless of umask
|
||||||
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
||||||
OWNER_READ
|
OWNER_READ
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -98,6 +98,7 @@ Variable | Type | Description
|
|||||||
CMAKE_INSTALL_PREFIX | String | The install location.
|
CMAKE_INSTALL_PREFIX | String | The install location.
|
||||||
CMAKE_BUILD_TYPE | String | Defaults to "debug"
|
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_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_RDRAND | Bool | Enable RDRAND Hardware RNG Hash Seed
|
||||||
ENABLE_THREADING | Bool | Enable partial threading support
|
ENABLE_THREADING | Bool | Enable partial threading support
|
||||||
DISABLE_WERROR | Bool | Disable use of -Werror
|
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.
|
Pass these options as `-D` on CMake's command-line.
|
||||||
|
|
||||||
```sh
|
```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
|
### Building with partial threading support
|
||||||
|
|||||||
Reference in New Issue
Block a user