@@ -23,14 +23,18 @@ option(skyr_BUILD_WITHOUT_EXCEPTIONS "Build without exceptions." OFF)
2323option (skyr_BUILD_WITHOUT_RTTI "Build without RTTI." OFF )
2424option (skyr_USE_STATIC_CRT "Use static C Runtime library (/MT or MTd)." ON )
2525option (skyr_BUILD_WITH_LLVM_LIBCXX "Instruct Clang to use LLVM's implementation of C++ standard library" OFF )
26+ option (skyr_ENABLE_JSON_FUNCTIONS "Enable functions to convert URL components to JSON" ON )
2627
2728set (CMAKE_VERBOSE_MAKEFILE true )
2829set (CMAKE_CXX_STANDARD 17)
2930set (CMAKE_CXX_EXTENSIONS OFF )
3031set (CMAKE_CXX_STANDARD_REQUIRED ON )
3132
3233find_package (tl-expected CONFIG REQUIRED)
33- find_package (nlohmann_json CONFIG REQUIRED)
34+
35+ if (skyr_ENABLE_JSON_FUNCTIONS)
36+ find_package (nlohmann_json CONFIG REQUIRED)
37+ endif ()
3438
3539if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU OR
3640 ${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
@@ -70,8 +74,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES MSVC)
7074 endif (${flag_var} MATCHES "/MD" )
7175 endforeach (flag_var)
7276 endif (skyr_USE_STATIC_CRT)
73-
74- add_definitions (-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE)
7577endif ()
7678
7779if (${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
@@ -105,7 +107,9 @@ endif()
105107if (NOT CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR )
106108 add_library (skyr::skyr-url ALIAS skyr-url)
107109 add_library (skyr::skyr-filesystem ALIAS skyr-filesystem)
108- add_library (skyr::skyr-json ALIAS skyr-json)
110+ if (skyr_ENABLE_JSON_FUNCTIONS)
111+ add_library (skyr::skyr-json ALIAS skyr-json)
112+ endif ()
109113endif ()
110114
111115# Install
@@ -122,7 +126,12 @@ write_basic_package_version_file(
122126 COMPATIBILITY SameMajorVersion
123127 ARCH_INDEPENDENT)
124128
125- install (TARGETS skyr-url skyr-filesystem skyr-json
129+ set (skyr_TARGETS skyr-url skyr-filesystem)
130+ if (skyr_ENABLE_JSON_FUNCTIONS)
131+ list (APPEND skyr_TARGETS skyr-json)
132+ endif ()
133+
134+ install (TARGETS ${skyr_TARGETS}
126135 EXPORT ${PROJECT_NAME} -targets
127136 INCLUDES DESTINATION "${CMAKE_INSTALL_DATADIR} "
128137 ARCHIVE DESTINATION lib
0 commit comments