|
|
@@ -342,7 +342,7 @@ set(JANSSON_HDR_PRIVATE
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/utf.h
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/private_include/jansson_private_config.h)
|
|
|
|
|
|
-set(JANSSON_HDR_PUBLIC
|
|
|
+set(JANSSON_HDR_PUBLIC
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/include/jansson_config.h
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/src/jansson.h)
|
|
|
|
|
|
@@ -351,21 +351,22 @@ source_group("Library Private Headers" FILES ${JANSSON_HDR_PRIVATE})
|
|
|
source_group("Library Public Headers" FILES ${JANSSON_HDR_PUBLIC})
|
|
|
|
|
|
if(JANSSON_BUILD_SHARED_LIBS)
|
|
|
- add_library(jansson SHARED
|
|
|
- ${JANSSON_SRC}
|
|
|
- ${JANSSON_HDR_PRIVATE}
|
|
|
- ${JANSSON_HDR_PUBLIC}
|
|
|
+ add_library(jansson SHARED
|
|
|
+ ${JANSSON_SRC}
|
|
|
+ ${JANSSON_HDR_PRIVATE}
|
|
|
+ ${JANSSON_HDR_PUBLIC}
|
|
|
src/jansson.def)
|
|
|
|
|
|
set_target_properties(jansson PROPERTIES
|
|
|
VERSION ${JANSSON_VERSION}
|
|
|
SOVERSION ${JANSSON_SOVERSION})
|
|
|
else()
|
|
|
- add_library(jansson
|
|
|
+ add_library(jansson
|
|
|
${JANSSON_SRC}
|
|
|
- ${JANSSON_HDR_PRIVATE}
|
|
|
+ ${JANSSON_HDR_PRIVATE}
|
|
|
${JANSSON_HDR_PUBLIC})
|
|
|
endif()
|
|
|
+set_target_properties(jansson PROPERTIES FOLDER "deps")
|
|
|
|
|
|
if (JANSSON_EXAMPLES)
|
|
|
add_executable(simple_parse "${PROJECT_SOURCE_DIR}/examples/simple_parse.c")
|
|
|
@@ -379,12 +380,12 @@ if (JANSSON_BUILD_DOCS)
|
|
|
find_package(Sphinx)
|
|
|
|
|
|
if (NOT SPHINX_FOUND)
|
|
|
- message(WARNING "Sphinx not found. Cannot generate documentation!
|
|
|
+ message(WARNING "Sphinx not found. Cannot generate documentation!
|
|
|
Set -DJANSSON_BUILD_DOCS=OFF to get rid of this message.")
|
|
|
else()
|
|
|
if (Sphinx_VERSION_STRING VERSION_LESS 1.0)
|
|
|
- message(WARNING "Your Sphinx version is too old!
|
|
|
- This project requires Sphinx v1.0 or above to produce
|
|
|
+ message(WARNING "Your Sphinx version is too old!
|
|
|
+ This project requires Sphinx v1.0 or above to produce
|
|
|
proper documentation (you have v${Sphinx_VERSION_STRING}).
|
|
|
You will get output but it will have errors.")
|
|
|
endif()
|
|
|
@@ -437,7 +438,7 @@ if (JANSSON_BUILD_DOCS)
|
|
|
list(APPEND DOC_TARGETS latex)
|
|
|
endif()
|
|
|
endif()
|
|
|
-
|
|
|
+
|
|
|
# The doc target will build all documentation targets.
|
|
|
add_custom_target(doc)
|
|
|
|
|
|
@@ -579,7 +580,7 @@ if (NOT JANSSON_WITHOUT_TESTS)
|
|
|
|
|
|
# Enable using "make check" just like the autotools project.
|
|
|
# By default cmake creates a target "make test"
|
|
|
- add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
|
|
|
+ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
|
|
|
DEPENDS json_process ${api_tests})
|
|
|
endif ()
|
|
|
|
|
|
@@ -624,33 +625,33 @@ export(TARGETS jansson
|
|
|
export(PACKAGE jansson)
|
|
|
|
|
|
# Generate the config file for the build-tree.
|
|
|
-set(JANSSON__INCLUDE_DIRS
|
|
|
+set(JANSSON__INCLUDE_DIRS
|
|
|
"${PROJECT_SOURCE_DIR}/include"
|
|
|
"${PROJECT_BINARY_DIR}/include")
|
|
|
set(JANSSON_INCLUDE_DIRS ${JANSSON__INCLUDE_DIRS} CACHE PATH "Jansson include directories")
|
|
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/JanssonConfig.cmake.in
|
|
|
- ${PROJECT_BINARY_DIR}/JanssonConfig.cmake
|
|
|
+ ${PROJECT_BINARY_DIR}/JanssonConfig.cmake
|
|
|
@ONLY)
|
|
|
|
|
|
# Generate the config file for the installation tree.
|
|
|
-file(RELATIVE_PATH
|
|
|
- REL_INCLUDE_DIR
|
|
|
+file(RELATIVE_PATH
|
|
|
+ REL_INCLUDE_DIR
|
|
|
"${JANSSON_INSTALL_CMAKE_DIR}"
|
|
|
"${JANSSON_INSTALL_INCLUDE_DIR}") # Calculate the relative directory from the Cmake dir.
|
|
|
|
|
|
-# Note the EVENT_CMAKE_DIR is defined in JanssonConfig.cmake.in,
|
|
|
+# Note the EVENT_CMAKE_DIR is defined in JanssonConfig.cmake.in,
|
|
|
# we escape it here so it's evaluated when it is included instead
|
|
|
-# so that the include dirs are given relative to where the
|
|
|
+# so that the include dirs are given relative to where the
|
|
|
# config file is located.
|
|
|
-set(JANSSON__INCLUDE_DIRS
|
|
|
- "\${JANSSON_CMAKE_DIR}/${REL_INCLUDE_DIR}")
|
|
|
+set(JANSSON__INCLUDE_DIRS
|
|
|
+ "\${JANSSON_CMAKE_DIR}/${REL_INCLUDE_DIR}")
|
|
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/JanssonConfig.cmake.in
|
|
|
- ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/JanssonConfig.cmake
|
|
|
+ ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/JanssonConfig.cmake
|
|
|
@ONLY)
|
|
|
|
|
|
# Generate version info for both build-tree and install-tree.
|
|
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/JanssonConfigVersion.cmake.in
|
|
|
- ${PROJECT_BINARY_DIR}/JanssonConfigVersion.cmake
|
|
|
+ ${PROJECT_BINARY_DIR}/JanssonConfigVersion.cmake
|
|
|
@ONLY)
|
|
|
|
|
|
# Define the public headers.
|
|
|
@@ -671,7 +672,7 @@ install(TARGETS jansson
|
|
|
PUBLIC_HEADER DESTINATION "${JANSSON_INSTALL_INCLUDE_DIR}" COMPONENT dev)
|
|
|
|
|
|
# Install the pkg-config.
|
|
|
-install (FILES
|
|
|
+install (FILES
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/jansson.pc
|
|
|
DESTINATION ${JANSSON_INSTALL_LIB_DIR}/pkgconfig COMPONENT dev)
|
|
|
|
|
|
@@ -682,7 +683,7 @@ install(FILES
|
|
|
DESTINATION "${JANSSON_INSTALL_CMAKE_DIR}" COMPONENT dev)
|
|
|
|
|
|
# Install exports for the install-tree.
|
|
|
-install(EXPORT JanssonTargets
|
|
|
+install(EXPORT JanssonTargets
|
|
|
DESTINATION "${JANSSON_INSTALL_CMAKE_DIR}" COMPONENT dev)
|
|
|
endif()
|
|
|
|
|
|
@@ -690,4 +691,4 @@ endif()
|
|
|
set(JANSSON_LIBRARIES jansson CACHE STRING "Jansson libraries")
|
|
|
|
|
|
target_include_directories(jansson
|
|
|
- PUBLIC src "${CMAKE_CURRENT_BINARY_DIR}/include")
|
|
|
+ PUBLIC src "${CMAKE_CURRENT_BINARY_DIR}/include")
|