cmake: allow the building of shared or static libraries
Alternative for #15
This commit is contained in:
parent
6f69d01b58
commit
2a1f77d084
@ -28,7 +28,7 @@ if(NOT TARGET json-hpp)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# and one for the validator
|
# and one for the validator
|
||||||
add_library(json-schema-validator SHARED
|
add_library(json-schema-validator
|
||||||
src/json-schema-draft4.json.cpp
|
src/json-schema-draft4.json.cpp
|
||||||
src/json-uri.cpp
|
src/json-uri.cpp
|
||||||
src/json-validator.cpp)
|
src/json-validator.cpp)
|
||||||
@ -49,9 +49,11 @@ endif()
|
|||||||
target_link_libraries(json-schema-validator
|
target_link_libraries(json-schema-validator
|
||||||
PUBLIC
|
PUBLIC
|
||||||
json-hpp)
|
json-hpp)
|
||||||
target_compile_definitions(json-schema-validator
|
if(BUILD_SHARED_LIBS)
|
||||||
PRIVATE
|
target_compile_definitions(json-schema-validator
|
||||||
-DJSON_SCHEMA_VALIDATOR_EXPORTS)
|
PRIVATE
|
||||||
|
-DJSON_SCHEMA_VALIDATOR_EXPORTS)
|
||||||
|
endif()
|
||||||
|
|
||||||
# regex with boost if gcc < 4.9 - default is std::regex
|
# regex with boost if gcc < 4.9 - default is std::regex
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
|||||||
10
README.md
10
README.md
@ -73,6 +73,16 @@ enable_testing() # if you want to inherit tests
|
|||||||
add_subdirectory(path-to-this-project json-schema-validator)
|
add_subdirectory(path-to-this-project json-schema-validator)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Building a shared library
|
||||||
|
|
||||||
|
By default a static library is built. Shared libraries are generated by using
|
||||||
|
the `BUILD_SHARED_LIBS`-cmake variable:
|
||||||
|
|
||||||
|
In your initial call to cmake simply add:
|
||||||
|
```bash
|
||||||
|
cmake -DBUILD_SHARED_LIBS=ON
|
||||||
|
```
|
||||||
|
|
||||||
## Code
|
## Code
|
||||||
|
|
||||||
See also `app/json-schema-validate.cpp`.
|
See also `app/json-schema-validate.cpp`.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user