From 056cee8585bb1eb5294a45076a1d70b29892e0b4 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 21 Dec 2021 23:35:00 +0100 Subject: [PATCH] build: replace FindPkgConfig hack with BUILD_STATIC variable set by CI toolchain file --- .github/toolchains/x86_64-w64-mingw32.cmake | 6 +----- .../toolchains/x86_64-w64-mingw32/FindPkgConfig.cmake | 5 ----- CMakeLists.txt | 10 +++++++++- 3 files changed, 10 insertions(+), 11 deletions(-) delete mode 100644 .github/toolchains/x86_64-w64-mingw32/FindPkgConfig.cmake diff --git a/.github/toolchains/x86_64-w64-mingw32.cmake b/.github/toolchains/x86_64-w64-mingw32.cmake index 53256c1..08e3281 100644 --- a/.github/toolchains/x86_64-w64-mingw32.cmake +++ b/.github/toolchains/x86_64-w64-mingw32.cmake @@ -1,6 +1,6 @@ set(TARGET x86_64-w64-mingw32) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/.github/toolchains/${TARGET}) +set(BUILD_STATIC ON) set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSROOT /usr/${TARGET}) @@ -16,7 +16,3 @@ set(ENV{PKG_CONFIG_LIBDIR} ${CMAKE_SYSROOT}/lib/pkgconfig:${CMAKE_SYSROOT}/share set(ENV{PKG_CONFIG_PATH} $ENV{PKG_CONFIG_LIBDIR}) set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) - -set(CMAKE_EXE_LINKER_FLAGS "-static") - - diff --git a/.github/toolchains/x86_64-w64-mingw32/FindPkgConfig.cmake b/.github/toolchains/x86_64-w64-mingw32/FindPkgConfig.cmake deleted file mode 100644 index 79166ed..0000000 --- a/.github/toolchains/x86_64-w64-mingw32/FindPkgConfig.cmake +++ /dev/null @@ -1,5 +0,0 @@ -# Hack: The toolchain file is evaluated too early to set the library suffixes, so we use a wrapper -# around FindPkgConfig set it right before we search for libraries. -set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - -include(${CMAKE_ROOT}/Modules/FindPkgConfig.cmake) diff --git a/CMakeLists.txt b/CMakeLists.txt index 70385e8..996ec67 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,14 @@ -cmake_minimum_required(VERSION 3.7) +cmake_minimum_required(VERSION 3.13) project(MINEDMAP CXX) +# May not work with all toolchains, added for the Windows CI build +option(BUILD_STATIC "Create a statically linked MinedMap executable") + +if(BUILD_STATIC) + list(REMOVE_ITEM CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".dll.a") + add_link_options("-static") +endif() + find_package(PkgConfig REQUIRED) pkg_check_modules(ZLIB REQUIRED IMPORTED_TARGET zlib)