mirror of https://github.com/microsoft/vcpkg.git
129 lines
4.1 KiB
Diff
129 lines
4.1 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 8cfb85b..7dd1253 100755
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -76,14 +76,19 @@ ENDIF(BUILD_SHARED_LIBS)
|
|
|
|
# Find curl library, for HTTPS support:
|
|
IF(USE_CURL)
|
|
- FIND_PACKAGE(CURL)
|
|
+ FIND_PACKAGE(CURL REQUIRED)
|
|
IF(CURL_FOUND)
|
|
ADD_DEFINITIONS(-DCFITSIO_HAVE_CURL)
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
IF(USE_PTHREADS)
|
|
- FIND_PACKAGE(Threads REQUIRED)
|
|
+ IF(WIN32 AND NOT MINGW)
|
|
+ FIND_PACKAGE(PThreads4W REQUIRED)
|
|
+ ADD_DEFINITIONS(-Dstrtok_r=strtok_s)
|
|
+ ELSE()
|
|
+ FIND_PACKAGE(Threads REQUIRED)
|
|
+ ENDIF()
|
|
ADD_DEFINITIONS(-D_REENTRANT)
|
|
ENDIF(USE_PTHREADS)
|
|
|
|
@@ -96,7 +101,8 @@ ENDIF(USE_BZIP2)
|
|
IF(MSVC OR MINGW)
|
|
SET(M_LIB "")
|
|
ELSE()
|
|
- FIND_LIBRARY(M_LIB m)
|
|
+ SET(M_LIB m)
|
|
+ SET(PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lm")
|
|
ENDIF()
|
|
|
|
# Support for remote file drivers is not implemented for native Windows:
|
|
@@ -255,31 +261,29 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}")
|
|
ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${H_FILES} ${SRC_FILES})
|
|
|
|
# Math:
|
|
-TARGET_LINK_LIBRARIES(${LIB_NAME} ${M_LIB})
|
|
+TARGET_LINK_LIBRARIES(${LIB_NAME} PRIVATE ${M_LIB})
|
|
# zlib:
|
|
IF (ZLIB_FOUND)
|
|
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${ZLIB_INCLUDE_DIR})
|
|
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${ZLIB_LIBRARIES})
|
|
- # For cfitsio.pc.cmake:
|
|
- SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lz")
|
|
+ TARGET_LINK_LIBRARIES(${LIB_NAME} PRIVATE ZLIB::ZLIB)
|
|
+ STRING(APPEND PKG_CONFIG_REQUIRES_PRIVATE " zlib")
|
|
ENDIF(ZLIB_FOUND)
|
|
# cURL:
|
|
IF (CURL_FOUND)
|
|
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${CURL_INCLUDE_DIRS})
|
|
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${CURL_LIBRARIES})
|
|
+ TARGET_LINK_LIBRARIES(${LIB_NAME} PRIVATE CURL::libcurl)
|
|
# For cfitsio.pc.cmake:
|
|
- SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lcurl")
|
|
+ STRING(APPEND PKG_CONFIG_REQUIRES_PRIVATE " libcurl")
|
|
ENDIF(CURL_FOUND)
|
|
# PThreads:
|
|
-IF (THREADS_FOUND)
|
|
- TARGET_LINK_LIBRARIES(${LIB_NAME} Threads::Threads)
|
|
+IF (PThreads4W_FOUND)
|
|
+ TARGET_LINK_LIBRARIES(${LIB_NAME} PUBLIC PThreads4W::PThreads4W)
|
|
+ELSEIF (THREADS_FOUND)
|
|
+ TARGET_LINK_LIBRARIES(${LIB_NAME} PUBLIC Threads::Threads)
|
|
ENDIF(THREADS_FOUND)
|
|
# BZip2:
|
|
-IF (BZIP2_FOUND)
|
|
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${BZIP2_INCLUDE_DIRS})
|
|
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${BZIP2_LIBRARIES})
|
|
- SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lbz2")
|
|
-ENDIF(BZIP2_FOUND)
|
|
+IF (BZip2_FOUND)
|
|
+ TARGET_LINK_LIBRARIES(${LIB_NAME} PRIVATE BZip2::BZip2)
|
|
+ string(APPEND PKG_CONFIG_REQUIRES_PRIVATE " bzip2")
|
|
+ENDIF(BZip2_FOUND)
|
|
|
|
#==============================================================================
|
|
|
|
@@ -326,9 +330,10 @@ install(EXPORT cfitsioTargets
|
|
DESTINATION
|
|
${ConfigPackageLocation}
|
|
)
|
|
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cfitsioConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cfitsioConfig.cmake" @ONLY)
|
|
install(
|
|
FILES
|
|
- cmake/cfitsioConfig.cmake
|
|
+ "${CMAKE_CURRENT_BINARY_DIR}/cfitsioConfig.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/cfitsio/cfitsioConfigVersion.cmake"
|
|
DESTINATION
|
|
${ConfigPackageLocation}
|
|
diff --git a/cfitsio.pc.cmake b/cfitsio.pc.cmake
|
|
index 949b80e..3dce033 100644
|
|
--- a/cfitsio.pc.cmake
|
|
+++ b/cfitsio.pc.cmake
|
|
@@ -8,5 +8,6 @@ Description: FITS File Subroutine Library
|
|
URL: https://heasarc.gsfc.nasa.gov/fitsio/
|
|
Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@.@CFITSIO_MICRO@
|
|
Libs: -L${libdir} -lcfitsio
|
|
-Libs.private: @PKG_CONFIG_LIBS@ -lm
|
|
+Libs.private: @PKG_CONFIG_LIBS@
|
|
+Requires.private: @PKG_CONFIG_REQUIRES_PRIVATE@
|
|
Cflags: -I${includedir}
|
|
diff --git a/cmake/cfitsioConfig.cmake b/cmake/cfitsioConfig.cmake
|
|
index b3c3aa3..9479ffc 100644
|
|
--- a/cmake/cfitsioConfig.cmake
|
|
+++ b/cmake/cfitsioConfig.cmake
|
|
@@ -1 +1,18 @@
|
|
+include(CMakeFindDependencyMacro)
|
|
+if("@USE_PTHREADS@")
|
|
+ if(WIN32 AND NOT MINGW)
|
|
+ find_dependency(PThreads4W)
|
|
+ else()
|
|
+ find_dependency(Threads)
|
|
+ endif()
|
|
+endif()
|
|
+if(NOT "@BUILD_SHARED_LIBS@")
|
|
+ find_dependency(ZLIB)
|
|
+ if("@USE_CURL@")
|
|
+ find_dependency(CURL)
|
|
+ endif()
|
|
+ if("@USE_BZIP2@")
|
|
+ find_dependency(BZip2)
|
|
+ endif()
|
|
+endif()
|
|
include("${CMAKE_CURRENT_LIST_DIR}/cfitsioTargets.cmake")
|