Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Alexander Borsuk
d9dc85b34e [3party] Do not use jansson from the system to avoid conflicts with protobuf and Qt
Signed-off-by: Alexander Borsuk <me@alex.bio>
2023-01-04 23:41:05 +01:00
2 changed files with 21 additions and 18 deletions

View file

@ -323,14 +323,13 @@ else()
add_subdirectory(3party/icu)
endif()
set(JANSSON_EXAMPLES OFF)
set(JANSSON_BUILD_DOCS OFF)
set(JANSSON_WITHOUT_TESTS ON)
set(JANSSON_BUILD_MAN OFF)
set(JANSSON_EXAMPLES OFF)
set(JANSSON_INSTALL OFF)
set(JANSSON_WITHOUT_TESTS ON)
find_package_or_fallback_to_3party(Jansson 2.14.0 3party/jansson/jansson/)
if (NOT Jansson_FOUND)
include_directories("${PROJECT_BINARY_DIR}/3party/jansson/jansson/include")
endif()
target_include_directories(jansson INTERFACE "${PROJECT_BINARY_DIR}/3party/jansson/jansson/include")
add_subdirectory(3party/liboauthcpp)
add_subdirectory(3party/minizip)

View file

@ -1,14 +1,18 @@
if (Jansson_INCLUDE_DIRS AND Jansson_LIBRARY AND Jansson_VERSION)
set(Jansson_FOUND TRUE)
else ()
find_path(Jansson_INCLUDE_DIRS NAMES jansson.h)
find_library(Jansson_LIBRARY NAMES jansson)
# This code is commented because it is flawed now. If any system-wide include directory will be added for jannsson,
# and it will contain wrong versions of protobuf or Qt, the build will fail.
# And it is not trivial for contributors to find the root cause of such build failure.
if (Jansson_INCLUDE_DIRS AND Jansson_LIBRARY)
set(regex_jansson_version "#define[ \t]+JANSSON_VERSION[ \t]+[\"]([^\"]+)[\"]")
file(STRINGS "${Jansson_INCLUDE_DIRS}/jansson.h" Jansson_VERSION REGEX "${regex_jansson_version}")
string(REGEX REPLACE "${regex_jansson_version}" "\\1" Jansson_VERSION "${Jansson_VERSION}")
unset(regex_jansson_version)
set(Jansson_FOUND TRUE)
endif ()
endif()
#if (Jansson_INCLUDE_DIRS AND Jansson_LIBRARY AND Jansson_VERSION)
# set(Jansson_FOUND TRUE)
#else ()
# find_path(Jansson_INCLUDE_DIRS NAMES jansson.h)
# find_library(Jansson_LIBRARY NAMES jansson)
# if (Jansson_INCLUDE_DIRS AND Jansson_LIBRARY)
# set(regex_jansson_version "#define[ \t]+JANSSON_VERSION[ \t]+[\"]([^\"]+)[\"]")
# file(STRINGS "${Jansson_INCLUDE_DIRS}/jansson.h" Jansson_VERSION REGEX "${regex_jansson_version}")
# string(REGEX REPLACE "${regex_jansson_version}" "\\1" Jansson_VERSION "${Jansson_VERSION}")
# unset(regex_jansson_version)
# set(Jansson_FOUND TRUE)
# endif ()
#endif()