|
@@ -27,6 +27,7 @@ if (WIN32 AND NOT CYGWIN) # cygwin 不依赖 dl
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
BUILD_DIR "dlfcn")
|
|
BUILD_DIR "dlfcn")
|
|
set(dlfcn_lib dlfcn-win32::dl)
|
|
set(dlfcn_lib dlfcn-win32::dl)
|
|
|
|
+ get_target_property(dlfcn_include_dir dlfcn-win32::dl INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
|
|
get_target_property(_dlfcn_include dlfcn-win32::dl INTERFACE_INCLUDE_DIRECTORIES) # INTERFACE_INCLUDE_DIRECTORIES
|
|
get_target_property(_dlfcn_include dlfcn-win32::dl INTERFACE_INCLUDE_DIRECTORIES) # INTERFACE_INCLUDE_DIRECTORIES
|
|
find_path(dlfcn_h_file NAMES dlfcn.h HINTS ${_dlfcn_include} DOC "The directory of dlfcn.h" REQUIRED NO_DEFAULT_PATH)
|
|
find_path(dlfcn_h_file NAMES dlfcn.h HINTS ${_dlfcn_include} DOC "The directory of dlfcn.h" REQUIRED NO_DEFAULT_PATH)
|
|
@@ -40,9 +41,16 @@ else()
|
|
set(dlfcn_root ${DLFCN_ROOT})
|
|
set(dlfcn_root ${DLFCN_ROOT})
|
|
if (dlfcn_root)
|
|
if (dlfcn_root)
|
|
find_library(dlfcn_path dl REQUIRED HINTS ${dlfcn_root})
|
|
find_library(dlfcn_path dl REQUIRED HINTS ${dlfcn_root})
|
|
|
|
+ find_path(dlfcn_include_dir dl.h HINTS ${dlfcn_root})
|
|
else()
|
|
else()
|
|
- find_library(dlfcn_path dl REQUIRED HINTS ${dlfcn_root})
|
|
|
|
|
|
+ find_library(dlfcn_path dl REQUIRED)
|
|
|
|
+ find_path(dlfcn_include_dir dlfcn.h)
|
|
|
|
+ endif()
|
|
|
|
+
|
|
|
|
+ if (NOT dlfcn_include_dir)
|
|
|
|
+ set(dlfcn_include_dir "")
|
|
endif()
|
|
endif()
|
|
|
|
+
|
|
unset(dlfcn_root)
|
|
unset(dlfcn_root)
|
|
set(dlfcn_lib ${dlfcn_path})
|
|
set(dlfcn_lib ${dlfcn_path})
|
|
endif()
|
|
endif()
|
|
@@ -64,6 +72,7 @@ cfep_find_dir(PCRE2
|
|
BUILD_DIR "pcre2")
|
|
BUILD_DIR "pcre2")
|
|
unset(PCRE2_USE_STATIC_LIBS)
|
|
unset(PCRE2_USE_STATIC_LIBS)
|
|
set(pcre2_lib PCRE2::8BIT)
|
|
set(pcre2_lib PCRE2::8BIT)
|
|
|
|
+get_target_property(pcre2_include_dir PCRE2::8BIT INTERFACE_INCLUDE_DIRECTORIES)
|
|
cfep_install(PCRE2 PREFIX ${deps_install_dir})
|
|
cfep_install(PCRE2 PREFIX ${deps_install_dir})
|
|
|
|
|
|
if (_print)
|
|
if (_print)
|
|
@@ -83,6 +92,7 @@ cfep_find_dir(FFlags
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
BUILD_DIR "fflags")
|
|
BUILD_DIR "fflags")
|
|
set(fflags_lib FFlags::fflags)
|
|
set(fflags_lib FFlags::fflags)
|
|
|
|
+get_target_property(fflags_include_dir FFlags::fflags INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
|
|
install(DIRECTORY "${fflags_INCLUDE_DIRS}/" DESTINATION ${INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") # 安装fflags.h
|
|
install(DIRECTORY "${fflags_INCLUDE_DIRS}/" DESTINATION ${INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") # 安装fflags.h
|
|
install(FILES ${CMAKE_CURRENT_LIST_DIR}/cmake/FindFFlags.cmake DESTINATION ${deps_install_dir}/cmake) # 安装find程序
|
|
install(FILES ${CMAKE_CURRENT_LIST_DIR}/cmake/FindFFlags.cmake DESTINATION ${deps_install_dir}/cmake) # 安装find程序
|
|
@@ -102,6 +112,7 @@ if (MSVC)
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
|
BUILD_DIR "pthread")
|
|
BUILD_DIR "pthread")
|
|
set(pthread_lib PThreadWin32::pthread)
|
|
set(pthread_lib PThreadWin32::pthread)
|
|
|
|
+ get_target_property(pthread_include_dir PThreadWin32::pthread INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
|
|
install(DIRECTORY "${pthread_INCLUDE_DIRS}/" DESTINATION ${INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") # 安装fflags.h
|
|
install(DIRECTORY "${pthread_INCLUDE_DIRS}/" DESTINATION ${INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") # 安装fflags.h
|
|
install(FILES ${CMAKE_CURRENT_LIST_DIR}/cmake/FindPThreadWin32.cmake DESTINATION ${deps_install_dir}/cmake) # 安装find程序
|
|
install(FILES ${CMAKE_CURRENT_LIST_DIR}/cmake/FindPThreadWin32.cmake DESTINATION ${deps_install_dir}/cmake) # 安装find程序
|
|
@@ -113,4 +124,12 @@ else()
|
|
message(FATAL_ERROR "pthread not found")
|
|
message(FATAL_ERROR "pthread not found")
|
|
endif()
|
|
endif()
|
|
set(pthread_lib Threads::Threads)
|
|
set(pthread_lib Threads::Threads)
|
|
-endif()
|
|
|
|
|
|
+ get_target_property(pthread_include_dir Threads::Threads INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
+ if (NOT pthread_include_dir)
|
|
|
|
+ set(pthread_include_dir "")
|
|
|
|
+ endif()
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+set(base_include_dir ${dlfcn_include_dir} ${pcre2_include_dir} ${fflags_include_dir} ${pthread_include_dir})
|
|
|
|
+set(base_libraries ${dlfcn_lib} ${pcre2_lib} ${fflags_lib} ${pthread_lib})
|