diff --git a/mingw-w64-gflags/0003-tests-link.patch b/mingw-w64-gflags/0003-tests-link.patch new file mode 100644 index 0000000000..f1dbc396a4 --- /dev/null +++ b/mingw-w64-gflags/0003-tests-link.patch @@ -0,0 +1,14 @@ +--- gflags-2.2.2/test/CMakeLists.txt.orig 2025-05-23 11:41:07.056026100 +0300 ++++ gflags-2.2.2/test/CMakeLists.txt 2025-05-23 11:41:20.825039200 +0300 +@@ -25,9 +25,9 @@ + set (type static) + endif () + if (BUILD_gflags_LIB) +- link_libraries (gflags_${type}) ++ link_libraries (gflags) + else () +- link_libraries (gflags_nothreads_${type}) ++ link_libraries (gflags_nothreads) + endif () + + # ---------------------------------------------------------------------------- diff --git a/mingw-w64-gflags/CMakeLists.txt b/mingw-w64-gflags/CMakeLists.txt new file mode 100644 index 0000000000..c8b01f46c3 --- /dev/null +++ b/mingw-w64-gflags/CMakeLists.txt @@ -0,0 +1,279 @@ +cmake_minimum_required(VERSION 3.15 FATAL_ERROR) + +# ---------------------------------------------------------------------------- +# Project Setup +project(gflags VERSION 2.2.2 LANGUAGES CXX) + +set(PACKAGE_NAME "gflags") +set(PACKAGE_BUGREPORT "https://github.com/gflags/gflags/issues") +set(PACKAGE_DESCRIPTION "A commandline flags library that allows for distributed flags.") +set(PACKAGE_URL "http://gflags.github.io/gflags") + +# ---------------------------------------------------------------------------- +# System Checks (Preserved from Original) +include ("${CMAKE_CURRENT_SOURCE_DIR}/cmake/utils.cmake") +include(CheckIncludeFileCXX) +include(CheckCXXSymbolExists) +include(CheckTypeSize) +include(CheckLibraryExists) +include(CMakeDependentOption) +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +# ---------------------------------------------------------------------------- +# Library Configuration Options (Modified for Dual Build) +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +option(BUILD_WITH_THREADS "Build multi-threaded library" ON) + +set (GFLAGS_INCLUDE_DIR "${PACKAGE_NAME}") +# ---------------------------------------------------------------------------- +# Configuration Variables (Preserved) +set(PUBLIC_HDRS + "gflags.h" + "gflags_declare.h" + "gflags_completions.h" +) + +set(PRIVATE_HDRS + "defines.h" + "config.h" + "util.h" + "mutex.h" +) + +set(GFLAGS_SRCS + "gflags.cc" + "gflags_reporting.cc" + "gflags_completions.cc" +) + +if(WIN32 AND NOT CYGWIN) + list(APPEND PRIVATE_HDRS "windows_port.h") + list(APPEND GFLAGS_SRCS "windows_port.cc") + set(OS_WINDOWS 1) +else() + set(OS_WINDOWS 0) +endif() + +# ---------------------------------------------------------------------------- +# Namespace Handling (Preserved) +set(GFLAGS_NAMESPACE "gflags" CACHE STRING "Primary namespace") +set(GFLAGS_NAMESPACE_SECONDARY "" CACHE STRING "Secondary namespaces") + +if(GFLAGS_NAMESPACE_SECONDARY) + foreach(ns IN LISTS GFLAGS_NAMESPACE_SECONDARY) + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/src/gflags_ns.h.in" + "${CMAKE_CURRENT_BINARY_DIR}/include/gflags/gflags_${ns}.h" + ) + list(APPEND PUBLIC_HDRS "${CMAKE_CURRENT_BINARY_DIR}/include/gflags/gflags_${ns}.h") + endforeach() +endif() + +# ---------------------------------------------------------------------------- +# System Configuration (Preserved) +if(MSVC) + set(HAVE_SYS_TYPES_H 1) + set(HAVE_STDDEF_H 1) + set(HAVE_UNISTD_H 0) + set(HAVE_SYS_STAT_H 1) + set(HAVE_SHLWAPI_H 1) + if(MSVC_VERSION VERSION_LESS 1600) + check_include_file_cxx ("stdint.h" HAVE_STDINT_H) + bool_to_int (HAVE_STDINT_H) # used in #if directive + else() + set(HAVE_STDINT_H 1) + endif() + if (MSVC_VERSION VERSION_LESS 1800) + check_include_file_cxx ("inttypes.h" HAVE_INTTYPES_H) + bool_to_int (HAVE_INTTYPES_H) # used in #if directive + else() + set(HAVE_INTTYPES_H 1) + endif() +else() + foreach (fname IN ITEMS unistd stdint inttypes sys/types sys/stat fnmatch) + string(TOUPPER "${fname}" FNAME) + string(REPLACE "/" "_" FNAME "${FNAME}") + if (NOT HAVE_${FNAME}_H) + check_include_file_cxx ("${fname}.h" HAVE_${FNAME}_H) + endif() + endforeach () + if (NOT HAVE_FNMATCH_H AND OS_WINDOWS) + check_include_file_cxx ("shlwapi.h" HAVE_SHLWAPI_H) + endif() + # the following are used in #if directives not #ifdef + bool_to_int (HAVE_STDINT_H) + bool_to_int (HAVE_SYS_TYPES_H) + bool_to_int (HAVE_INTTYPES_H) +endif() + +gflags_define (STRING INTTYPES_FORMAT "Format of integer types: \"C99\" (uint32_t), \"BSD\" (u_int32_t), \"VC7\" (__int32)" "") +gflags_property (INTTYPES_FORMAT STRINGS "C99;BSD;VC7") +gflags_property (INTTYPES_FORMAT ADVANCED TRUE) +if (NOT INTTYPES_FORMAT) + set (TYPES uint32_t u_int32_t) + if (MSVC) + list (INSERT TYPES 0 __int32) + endif() + foreach (type IN LISTS TYPES) + check_type_size (${type} ${type} LANGUAGE CXX) + if (HAVE_${type}) + break () + endif() + endforeach () + if (HAVE_uint32_t) + gflags_set (INTTYPES_FORMAT C99) + elseif (HAVE_u_int32_t) + gflags_set (INTTYPES_FORMAT BSD) + elseif (HAVE___int32) + gflags_set (INTTYPES_FORMAT VC7) + else() + gflags_property (INTTYPES_FORMAT ADVANCED FALSE) + message (FATAL_ERROR "Do not know how to define a 32-bit integer quantity on your system!" + " Neither uint32_t, u_int32_t, nor __int32 seem to be available." + " Set [GFLAGS_]INTTYPES_FORMAT to either C99, BSD, or VC7 and try again.") + endif() +endif() +# use of special characters in strings to circumvent bug #0008226 +if ("^${INTTYPES_FORMAT}$" STREQUAL "^WIN$") + gflags_set (INTTYPES_FORMAT VC7) +endif() +if (NOT INTTYPES_FORMAT MATCHES "^(C99|BSD|VC7)$") + message (FATAL_ERROR "Invalid value for [GFLAGS_]INTTYPES_FORMAT! Choose one of \"C99\", \"BSD\", or \"VC7\"") +endif() +set(GFLAGS_INTTYPES_FORMAT "${INTTYPES_FORMAT}") +set(GFLAGS_INTTYPES_FORMAT_C99 0) +set(GFLAGS_INTTYPES_FORMAT_BSD 0) +set(GFLAGS_INTTYPES_FORMAT_VC7 0) +set("GFLAGS_INTTYPES_FORMAT_${INTTYPES_FORMAT}" 1) + +if (MSVC) + set (HAVE_strtoll 0) + set (HAVE_strtoq 0) +else() + check_cxx_symbol_exists (strtoll stdlib.h HAVE_STRTOLL) + if (NOT HAVE_STRTOLL) + check_cxx_symbol_exists (strtoq stdlib.h HAVE_STRTOQ) + endif() +endif() + +if (BUILD_WITH_THREADS) + set (CMAKE_THREAD_PREFER_PTHREAD TRUE) + find_package (Threads) + if (Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) + set (HAVE_PTHREAD 1) + check_type_size (pthread_rwlock_t RWLOCK LANGUAGE CXX) + else() + set (HAVE_PTHREAD 0) + endif() + if (UNIX AND NOT HAVE_PTHREAD) + if (CMAKE_HAVE_PTHREAD_H) + set(what "library") + else () + set(what ".h file") + endif() + message (FATAL_ERROR "Could not find pthread${what}. Check the log file" + "\n\t${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log" + "\nor disable the build of the multi-threaded gflags library (BUILD_WITH_THREADS=OFF).") + endif() +else() + set(HAVE_PTHREAD 0) +endif() + +configure_headers (PUBLIC_HDRS ${PUBLIC_HDRS}) +configure_sources (PRIVATE_HDRS ${PRIVATE_HDRS}) +configure_sources (GFLAGS_SRCS ${GFLAGS_SRCS}) + +# ---------------------------------------------------------------------------- +# Target Creation +if(BUILD_SHARED_LIBS) + set (type_suffix "_shared") + set (LIB_TYPE SHARED) + set (GFLAGS_IS_A_DLL 1) +else() + set (type_suffix "_static") + set (LIB_TYPE STATIC) + set (GFLAGS_IS_A_DLL 0) +endif() + +set (BUILD_gflags_LIB ${BUILD_WITH_THREADS}) +if(BUILD_WITH_THREADS) + set (thread_suffix "") +else() + set (thread_suffix "_nothreads") +endif() + +set (target_name "gflags${thread_suffix}") + +add_library(gflags ${LIB_TYPE} ${GFLAGS_SRCS} ${PRIVATE_HDRS} ${PUBLIC_HDRS}) +add_library(gflags::gflags ALIAS gflags) + +set_target_properties(gflags PROPERTIES + OUTPUT_NAME "${target_name}" + VERSION "${PACKAGE_VERSION}" + SOVERSION "${PACKAGE_SOVERSION}" +) + +set (include_dirs "$") +list (APPEND include_dirs "$") + +target_include_directories (gflags + PUBLIC "${include_dirs}" + PRIVATE "${PROJECT_SOURCE_DIR}/src;${PROJECT_BINARY_DIR}/include/${GFLAGS_INCLUDE_DIR}" +) + +# Compile Definitions (Modified with proper GFLAGS_IS_A_DLL handling) +target_compile_definitions(gflags PUBLIC GFLAGS_IS_A_DLL=${GFLAGS_IS_A_DLL}) + +if (NOT BUILD_WITH_THREADS) + target_compile_definitions (gflags PRIVATE NO_THREADS) +elseif (CMAKE_USE_PTHREADS_INIT) + target_link_libraries (gflags ${CMAKE_THREAD_LIBS_INIT}) +endif() + +if (HAVE_SHLWAPI_H) + target_link_libraries (gflags shlwapi) +endif () + + +if (NOT DEFINED GFLAGS_INSTALL_CMAKEDIR) + set(GFLAGS_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/gflags" + CACHE STRING "Path to gflags CMake files") +endif () + +install(TARGETS gflags + EXPORT gflags_Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development) + +install (FILES ${PUBLIC_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${GFLAGS_INCLUDE_DIR}) + +install(EXPORT gflags_Targets + DESTINATION ${GFLAGS_INSTALL_CMAKEDIR} COMPONENT Development + NAMESPACE gflags:: + FILE gflags${thread_suffix}${type_suffix}-targets.cmake) + +if (UNIX) + install (PROGRAMS src/gflags_completions.sh DESTINATION ${CMAKE_INSTALL_BINDIR}) +endif() + +write_basic_package_version_file( + gflagsConfigVersion.cmake + COMPATIBILITY SameMajorVersion) + +install(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/gflagsConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/gflagsConfigVersion.cmake" + DESTINATION ${GFLAGS_INSTALL_CMAKEDIR} COMPONENT Development) + +set (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +configure_file ("cmake/package.pc.in" "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}.pc" @ONLY) +install (FILES "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}") + +# ---------------------------------------------------------------------------- +# Testing (Preserved) +if(BUILD_TESTING) + enable_testing() + add_subdirectory(test) +endif() diff --git a/mingw-w64-gflags/PKGBUILD b/mingw-w64-gflags/PKGBUILD index e1f1e29302..1eafa167cb 100644 --- a/mingw-w64-gflags/PKGBUILD +++ b/mingw-w64-gflags/PKGBUILD @@ -4,7 +4,7 @@ _realname=gflags pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.2.2 -pkgrel=4 +pkgrel=6 pkgdesc="Google's Commandline flags module for C++ (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') @@ -19,11 +19,17 @@ checkdepends=("${MINGW_PACKAGE_PREFIX}-gtest") source=("https://github.com/gflags/gflags/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" 0001-fix-link-library.patch 0002-fix-static-libs.patch - "${_realname}-2.2.2.patch") + "${_realname}-2.2.2.patch" + CMakeLists.txt + gflagsConfig.cmake + 0003-tests-link.patch) sha256sums=('34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf' '1bb0d61f8273ec487012636ca404686cb7589cefb9c57477f2a1e380746d92f7' '07dec6f4d117c226c1521de623e17180e9dee1b54e81a242fb8a974cf58726a7' - 'fa257fc8fb5fdef6267bf65b5355ccd967ca97d30672bddca55d64219ee848fd') + '97fadc6add5c5dfab13046930e3470f16abd22f9cf6d33b87c6e8b4616e0d206' + 'eaecfe4e7944270b0352a3ff9c1fcebdae6dac9fd30344d00c2b404b085a1457' + 'd1179c3f5629218b7a532196459e1ea6d190e69bda8e5c22670db8bc3cd388b5' + 'de2dd6d257a3c582833d4d85d4347ebe425dc71c14b29de7eff7b5f85a905d9a') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -32,25 +38,43 @@ prepare() { # https://github.com/gflags/gflags/pull/334 patch -Np1 -i "${srcdir}/${_realname}-2.2.2.patch" + + cp -f ${srcdir}/CMakeLists.txt . + cp -f ${srcdir}/gflagsConfig.cmake . + patch -Np1 -i "${srcdir}/0003-tests-link.patch" } build() { - mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" - if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") else extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi + mkdir -p "${srcdir}/shared-${MSYSTEM}" && cd "${srcdir}/shared-${MSYSTEM}" + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ ${extra_config} \ - -DBUILD_STATIC_LIBS=ON \ -DBUILD_SHARED_LIBS=ON \ - -DBUILD_TESTING=OFF \ + -DBUILD_WITH_THREADS=ON \ + -DBUILD_TESTING=ON \ + "../${_realname}-${pkgver}" + + cmake --build . + + mkdir -p "${srcdir}/static-${MSYSTEM}" && cd "${srcdir}/static-${MSYSTEM}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -G"Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ${extra_config} \ + -DBUILD_SHARED_LIBS=OFF \ + -DBUILD_WITH_THREADS=ON \ + -DBUILD_TESTING=ON \ "../${_realname}-${pkgver}" cmake --build . @@ -64,8 +88,11 @@ check() { } package() { - cd "${srcdir}/build-${MSYSTEM}" + cd "${srcdir}/shared-${MSYSTEM}" DESTDIR="${pkgdir}" cmake --install . - INSTALL -Dm644 "${srcdir}"/${_realname}-${pkgver}/COPYING.txt \ - "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/COPYING.txt + + cd "${srcdir}/static-${MSYSTEM}" + DESTDIR="${pkgdir}" cmake --install . + + INSTALL -Dm644 "${srcdir}"/${_realname}-${pkgver}/COPYING.txt "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/COPYING.txt } diff --git a/mingw-w64-gflags/gflags-2.2.2.patch b/mingw-w64-gflags/gflags-2.2.2.patch index c7f8677188..6598f36ba4 100644 --- a/mingw-w64-gflags/gflags-2.2.2.patch +++ b/mingw-w64-gflags/gflags-2.2.2.patch @@ -1,5 +1,15 @@ ---- gflags-2.2.2/CMakeLists.txt.orig 2018-11-12 00:21:00.000000000 +0300 -+++ gflags-2.2.2/CMakeLists.txt 2018-11-19 13:23:58.872932000 +0300 +diff -Naur gflags-2.2.2-orig/CMakeLists.txt gflags-2.2.2/CMakeLists.txt +--- gflags-2.2.2-orig/CMakeLists.txt 2025-05-22 12:12:28.664979400 +0300 ++++ gflags-2.2.2/CMakeLists.txt 2025-05-22 12:35:29.120054700 +0300 +@@ -70,7 +70,7 @@ + ## - GFLAGS_INSTALL_SHARED_LIBS + ## - GFLAGS_INSTALL_STATIC_LIBS + +-cmake_minimum_required (VERSION 3.0.2 FATAL_ERROR) ++cmake_minimum_required (VERSION 3.5 FATAL_ERROR) + + if (POLICY CMP0042) + cmake_policy (SET CMP0042 NEW) @@ -413,7 +413,7 @@ # ---------------------------------------------------------------------------- @@ -9,3 +19,37 @@ set (RUNTIME_INSTALL_DIR "bin") set (LIBRARY_INSTALL_DIR "lib") set (INCLUDE_INSTALL_DIR "include") +diff -Naur gflags-2.2.2-orig/cmake/config.cmake.in gflags-2.2.2/cmake/config.cmake.in +--- gflags-2.2.2-orig/cmake/config.cmake.in 2018-11-12 00:21:00.000000000 +0300 ++++ gflags-2.2.2/cmake/config.cmake.in 2025-05-22 12:31:22.976621300 +0300 +@@ -78,7 +78,7 @@ + else () + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + endif () +- elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) ++ elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + else () + set (@PACKAGE_PREFIX@_NOTHREADS TRUE) +diff -Naur gflags-2.2.2-orig/test/config/CMakeLists.txt gflags-2.2.2/test/config/CMakeLists.txt +--- gflags-2.2.2-orig/test/config/CMakeLists.txt 2018-11-12 00:21:00.000000000 +0300 ++++ gflags-2.2.2/test/config/CMakeLists.txt 2025-05-22 12:35:59.813232600 +0300 +@@ -1,6 +1,6 @@ + ## gflags package configuration tests + +-cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) ++cmake_minimum_required (VERSION 3.5 FATAL_ERROR) + + project (gflags_${TEST_NAME}) + +diff -Naur gflags-2.2.2-orig/test/nc/CMakeLists.txt gflags-2.2.2/test/nc/CMakeLists.txt +--- gflags-2.2.2-orig/test/nc/CMakeLists.txt 2018-11-12 00:21:00.000000000 +0300 ++++ gflags-2.2.2/test/nc/CMakeLists.txt 2025-05-22 12:36:15.080362100 +0300 +@@ -1,6 +1,6 @@ + ## gflags negative compilation tests + +-cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) ++cmake_minimum_required (VERSION 3.5 FATAL_ERROR) + + if (NOT TEST_NAME) + message (FATAL_ERROR "Missing TEST_NAME CMake flag") diff --git a/mingw-w64-gflags/gflagsConfig.cmake b/mingw-w64-gflags/gflagsConfig.cmake new file mode 100644 index 0000000000..dc1220485c --- /dev/null +++ b/mingw-w64-gflags/gflagsConfig.cmake @@ -0,0 +1,70 @@ +## gflags CMake configuration file + +include(CMakeFindDependencyMacro) +if(ON) + find_dependency(Threads) +endif() + +set(gflags_known_comps static shared nothreads_static nothreads_shared) +set(gflags_comp_static NO) +set(gflags_comp_shared NO) +set(gflags_comp_nothreads_static NO) +set(gflags_comp_nothreads_shared NO) +foreach (gflags_comp IN LISTS ${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS) + if (gflags_comp IN_LIST gflags_known_comps) + set(gflags_comp_${gflags_comp} YES) + else () + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE + "gflags does not recognize component `${gflags_comp}`.") + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + return() + endif () +endforeach () + +if (gflags_comp_static AND gflags_comp_shared) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE + "gflags `static` and `shared` components are mutually exclusive.") + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + return() +endif () + +set(gflags_static_targets "${CMAKE_CURRENT_LIST_DIR}/gflags_static-targets.cmake") +set(gflags_shared_targets "${CMAKE_CURRENT_LIST_DIR}/gflags_shared-targets.cmake") +set(gflags_nothreads_static_targets "${CMAKE_CURRENT_LIST_DIR}/gflags_nothreads_static-targets.cmake") +set(gflags_nothreads_shared_targets "${CMAKE_CURRENT_LIST_DIR}/gflags_nothreads_shared-targets.cmake") + +macro(gflags_load_targets type) + if (NOT EXISTS "${gflags_${type}_targets}") + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE + "gflags `${type}` libraries were requested but not found.") + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + return() + endif () + include("${gflags_${type}_targets}") +endmacro() + +if (gflags_comp_static) + gflags_load_targets(static) +elseif (gflags_comp_shared) + gflags_load_targets(shared) +elseif (gflags_comp_nothreads_shared) + gflags_load_targets(nothreads_shared) +elseif (gflags_comp_nothreads_static) + gflags_load_targets(nothreads_static) +elseif (DEFINED gflags_SHARED_LIBS AND gflags_SHARED_LIBS) + gflags_load_targets(shared) +elseif (DEFINED gflags_SHARED_LIBS AND NOT gflags_SHARED_LIBS) + gflags_load_targets(static) +elseif (BUILD_SHARED_LIBS) + if (EXISTS "${gflags_shared_targets}") + gflags_load_targets(shared) + else () + gflags_load_targets(static) + endif () +else () + if (EXISTS "${gflags_static_targets}") + gflags_load_targets(static) + else () + gflags_load_targets(shared) + endif () +endif ()