diff --git a/CMakeLists.txt b/CMakeLists.txt index 881c90421..de4ff528d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,6 +98,7 @@ message(STATUS "Installing fonts to ${FONTS_INSTALL_DIR}") # Begin project configuration +mapnik_find_threads() mapnik_find_package(ICU REQUIRED COMPONENTS uc i18n data) mapnik_find_package(Boost 1.74 REQUIRED COMPONENTS filesystem system regex) if(USE_BOOST_REGEX_ICU_WORKAROUND) @@ -207,6 +208,7 @@ if(USE_PROJ) #https://proj.org/development/cmake.html mapnik_find_package(PROJ REQUIRED) math(EXPR MAPNIK_PROJ_VERSION "${PROJ_VERSION_MAJOR}*10000 + ${PROJ_VERSION_MINOR}*100 + ${PROJ_VERSION_PATCH}" OUTPUT_FORMAT DECIMAL) + message(STATUS "Using mapnik PROJ version: ${MAPNIK_PROJ_VERSION}") list(APPEND MAPNIK_COMPILE_DEFS MAPNIK_USE_PROJ MAPNIK_PROJ_VERSION=${MAPNIK_PROJ_VERSION}) list(APPEND MAPNIK_OPTIONAL_LIBS ${PROJ_LIBRARIES}) list(APPEND MAPNIK_OPTIONAL_LIBS_INCLUDE ${PROJ_INCLUDE_DIRS}) @@ -242,6 +244,7 @@ target_include_directories(core INTERFACE ${MAPNIK_OPTIONAL_LIBS_INCLUDE} ) target_link_libraries(core INTERFACE + Threads::Threads ICU::uc ICU::data ICU::i18n diff --git a/cmake/MapnikFindPackage.cmake b/cmake/MapnikFindPackage.cmake index 14c33805e..a4a10ba7d 100644 --- a/cmake/MapnikFindPackage.cmake +++ b/cmake/MapnikFindPackage.cmake @@ -21,3 +21,18 @@ macro(mapnik_find_package) list(APPEND MAPNIK_DEPENDENCIES "find_dependency(${MAPNIK_TMP_DEP})") mapnik_print_version(${ARGV0}) endmacro() + +macro(mapnik_find_threads) + find_package(Threads REQUIRED) + if(CMAKE_THREAD_LIBS_INIT) + message(STATUS "Using Threads (system libraries)") + elseif(CMAKE_USE_WIN32_THREADS_INIT) + message(STATUS "Using Threads (win32 threads)") + elseif(CMAKE_USE_PTHREADS_INIT) + message(STATUS "Using Threads (pthread)") + elseif(CMAKE_HP_PTHREADS_INIT) + message(STATUS "Using Threads (HP thread)") + else() + message(STATUS "Using Threads (unknown backend)") + endif() +endmacro()