From 960c57c4f303f3396d0a851c247bab3fa22a82cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Sun, 8 Sep 2019 12:51:36 +0200 Subject: [PATCH 1/2] Only add bundled inc dirs, when using bundled libs Fixes #1881 --- src/CMakeLists.txt | 23 +++++++++++++++++------ src/CMakeProject-texture.cmake | 12 ++++++++++-- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c29df4338d..6e0f28e364 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -612,10 +612,21 @@ list(APPEND SM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} "${SM_SRC_DIR}/generated") list(APPEND SM_INCLUDE_DIRS "${JPEG_INCLUDE_DIR}") if(NOT APPLE) - list(APPEND SM_INCLUDE_DIRS - "${SM_EXTERN_DIR}/glew-1.5.8/include" - "${SM_EXTERN_DIR}/jsoncpp/include" - "${SM_EXTERN_DIR}/zlib") + if(NOT WITH_SYSTEM_GLEW) + list(APPEND SM_INCLUDE_DIRS + "${SM_EXTERN_DIR}/glew-1.5.8/include") + endif() + + if(NOT WITH_SYSTEM_JSONCPP) + list(APPEND SM_INCLUDE_DIRS + "${SM_EXTERN_DIR}/jsoncpp/include") + endif() + + if(NOT WITH_SYSTEM_ZLIB) + list(APPEND SM_INCLUDE_DIRS + "${SM_EXTERN_DIR}/zlib") + endif() + if(MSVC) if(WITH_OGG) list(APPEND SM_INCLUDE_DIRS @@ -625,7 +636,7 @@ if(NOT APPLE) endif() list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/ffmpeg/include") else() - if(WITH_OGG) + if(WITH_OGG AND NOT WITH_SYSTEM_OGG) list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/vorbis") endif() if(HAS_FFMPEG) @@ -664,7 +675,7 @@ endif() if(WIN32) # FIXME: This makes no sense... #list(APPEND SM_INCLUDE_DIRS ${DIRECTX_INCLUDE_DIR}) -else() +elseif(NOT WITH_SYSTEM_PNG) list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/libpng/include") endif() diff --git a/src/CMakeProject-texture.cmake b/src/CMakeProject-texture.cmake index 70ccd5ab16..c46cbe14f0 100644 --- a/src/CMakeProject-texture.cmake +++ b/src/CMakeProject-texture.cmake @@ -50,10 +50,18 @@ target_link_libraries("TextureFontGenerator" ${TEXTURE_LINK_LIB}) list(APPEND TEXTURE_INCLUDE_DIRS "${TEXTURE_DIR}" "${TEXTURE_DIR}/res" - "${SM_EXTERN_DIR}/zlib" - "${SM_EXTERN_DIR}/libpng/include" "${SM_SRC_DIR}/generated") +if(NOT WITH_SYSTEM_ZLIB) + list(APPEND TEXTURE_INCLUDE_DIRS + "${SM_EXTERN_DIR}/zlib") +endif() + +if(NOT WITH_SYSTEM_PNG) + list(APPEND TEXTURE_INCLUDE_DIRS + "${SM_EXTERN_DIR}/libpng/include") +endif() + target_include_directories("TextureFontGenerator" PUBLIC ${TEXTURE_INCLUDE_DIRS}) From 092cffa1823e7d046be09ccc846f2ed7f7a7e95a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Thu, 18 Jun 2020 23:15:44 +0200 Subject: [PATCH 2/2] Find system jsoncpp via pkg-config, add system include --- extern/CMakeProject-json.cmake | 6 ++---- src/CMakeLists.txt | 6 ++++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/extern/CMakeProject-json.cmake b/extern/CMakeProject-json.cmake index ec133ea2be..953a8d82d4 100644 --- a/extern/CMakeProject-json.cmake +++ b/extern/CMakeProject-json.cmake @@ -1,8 +1,6 @@ if(WITH_SYSTEM_JSONCPP) - find_library(JSONCPP_LIBRARY jsoncpp) - if(JSONCPP_LIBRARY MATCHES "JSONCPP_LIBRARY-NOTFOUND") - message(FATAL_ERROR "Need jsoncpp.") - endif() + find_package(PkgConfig REQUIRED) + pkg_check_modules(JSONCPP REQUIRED jsoncpp) else() list(APPEND JSON_SRC "jsoncpp/src/lib_json/json_reader.cpp" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6e0f28e364..72cb54a493 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -449,7 +449,7 @@ else() endif() if(WITH_SYSTEM_JSONCPP) - list(APPEND SMDATA_LINK_LIB ${JSONCPP_LIBRARY}) + list(APPEND SMDATA_LINK_LIB ${JSONCPP_LIBRARIES}) else() list(APPEND SMDATA_LINK_LIB "jsoncpp") endif() @@ -617,7 +617,9 @@ if(NOT APPLE) "${SM_EXTERN_DIR}/glew-1.5.8/include") endif() - if(NOT WITH_SYSTEM_JSONCPP) + if(WITH_SYSTEM_JSONCPP) + list(APPEND SM_INCLUDE_DIRS ${JSONCPP_INCLUDE_DIRS}) + else() list(APPEND SM_INCLUDE_DIRS "${SM_EXTERN_DIR}/jsoncpp/include") endif()