-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[winpr,utils] split json detection to include
- Loading branch information
1 parent
28bd901
commit acd137f
Showing
3 changed files
with
51 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
option(WITH_JSON_DISABLED "Build without any JSON support" OFF) | ||
CMAKE_DEPENDENT_OPTION(WITH_CJSON_REQUIRED "Build with cJSON (fail if not found)" OFF "NOT WITH_JSON_DISABLED" OFF) | ||
CMAKE_DEPENDENT_OPTION(WITH_JSONC_REQUIRED "Build with JSON-C (fail if not found)" OFF "NOT WITH_JSON_DISABLED" OFF) | ||
if (NOT WITH_JSON_DISABLED) | ||
find_package(cJSON) | ||
|
||
# Fallback detection: | ||
# older ubuntu releases did not ship CMake or pkg-config files | ||
# for cJSON. Be optimistic and try pkg-config and as last resort | ||
# try manual detection | ||
if (NOT CJSON_FOUND) | ||
find_package(PkgConfig) | ||
if (PKG_CONFIG_FOUND) | ||
pkg_check_modules(CJSON libcjson) | ||
endif() | ||
|
||
if (NOT CJSON_FOUND) | ||
find_path(CJSON_INCLUDE_DIRS | ||
NAMES cjson/cJSON.h | ||
) | ||
find_library(CJSON_LIBRARIES | ||
NAMES cjson | ||
) | ||
if (NOT "${CJSON_LIBRARIES}" EQUAL "CJSON_LIBRARIES-NOTFOUND" AND NOT "${CJSON_INCLUDE_DIRS}" EQUAL "CJSON_INCLUDE_DIRS-NOTFOUND") | ||
set(CJSON_FOUND ON) | ||
endif() | ||
endif() | ||
endif() | ||
|
||
if (WITH_CJSON_REQUIRED) | ||
if (NOT CJSON_FOUND) | ||
message(FATAL_ERROR "cJSON was requested but not found") | ||
endif() | ||
endif() | ||
|
||
if (WITH_JSONC_REQUIRED) | ||
find_package(JSONC REQUIRED) | ||
else() | ||
find_package(JSONC) | ||
endif() | ||
|
||
if (NOT JSONC_FOUND AND NOT CJSON_FOUND) | ||
set(WITH_WINPR_JSON OFF CACHE INTERNAL "internal") | ||
message("compiling without JSON support. Install cJSON or json-c to enable") | ||
endif() | ||
else() | ||
set(WITH_WINPR_JSON OFF CACHE INTERNAL "internal") | ||
message("forced compile without JSON support. Set -DWITH_JSON_DISABLED=OFF to enable compile time detection") | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters