diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2019-11-22 09:47:40 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-22 09:47:40 -0800 |
| commit | 45f4b820e5743b89bca3508ba2028cdd5d8bbd17 (patch) | |
| tree | f874a8c4a7392309bdbb86447288597ec0a4a281 /ports/openscap/fix-build.patch | |
| parent | 62d67d3bf8eeff1afa8009041fd08b8822676b7b (diff) | |
| parent | 8831e8f25f1ff6546ee4a5291b91d599421637b3 (diff) | |
| download | vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.tar.gz vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.zip | |
Merge branch 'master' into vcpkg_nuget
Diffstat (limited to 'ports/openscap/fix-build.patch')
| -rw-r--r-- | ports/openscap/fix-build.patch | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/ports/openscap/fix-build.patch b/ports/openscap/fix-build.patch new file mode 100644 index 000000000..57d22946b --- /dev/null +++ b/ports/openscap/fix-build.patch @@ -0,0 +1,121 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4de5b57..5f483a3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,15 +140,25 @@ find_package(SWIG) + find_package(LibXml2 REQUIRED) + find_package(LibXslt REQUIRED) + find_package(BZip2) ++find_package(OpenSSL REQUIRED) ++find_package(ZLIB REQUIRED) + + # PThread +-set(CMAKE_THREAD_PREFER_PTHREAD) +-set(THREADS_PREFER_PTHREAD_FLAG) +-set(THREADS_USE_PTHREADS_WIN32 true) +-find_package(Threads REQUIRED) +-check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) +-check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) +-check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) ++if (WIN32) ++ set(CMAKE_THREAD_PREFER_PTHREAD) ++ set(THREADS_PREFER_PTHREAD_FLAG) ++ set(THREADS_USE_PTHREADS_WIN32 true) ++ find_package(pthread CONFIG REQUIRED) ++ set(CMAKE_THREAD_LIBS_INIT ${PThreads4W_LIBRARY}) ++ check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) ++ check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) ++ check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) ++else() ++ set(THREADS_USE_PTHREADS_WIN32 -pthread) ++endif() ++ ++# OpenSSL ++link_libraries(OpenSSL::SSL OpenSSL::Crypto) + + # WITH_CRYPTO + set(WITH_CRYPTO "gcrypt" CACHE STRING "gcrypt|nss3") +@@ -373,19 +383,9 @@ message(STATUS "asciidoc: ${ASCIIDOC_EXECUTABLE}") + + # ---------- PATHS + +-if(WIN32) +- # Windows installer does not allow full paths. +- # The install path can be changed by user in Windows installer. +- # We will use relative names - "schemas", "xsl" and "cpe" +- # directories will be located in the same directory as oscap.exe. +- set(OSCAP_DEFAULT_SCHEMA_PATH "schemas") +- set(OSCAP_DEFAULT_XSLT_PATH "xsl") +- set(OSCAP_DEFAULT_CPE_PATH "cpe") +-else() +- set(OSCAP_DEFAULT_SCHEMA_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/schemas") +- set(OSCAP_DEFAULT_XSLT_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/xsl") +- set(OSCAP_DEFAULT_CPE_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/cpe") +-endif() ++set(OSCAP_DEFAULT_SCHEMA_PATH share/openscap/schemas) ++set(OSCAP_DEFAULT_XSLT_PATH share/openscap/xsl) ++set(OSCAP_DEFAULT_CPE_PATH share/openscap/cpe) + set(OSCAP_TEMP_DIR "/tmp" CACHE STRING "use different temporary directory to execute sce scripts (default=/tmp)") + + # ---------- RPATHS for linking +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 2a3f373..781d05a 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -6,27 +6,32 @@ if(ENABLE_OSCAP_UTIL) + add_executable(oscap ${UTILS_SOURCES}) + target_link_libraries(oscap openscap) + if(WIN32) +- set(OSCAP_UTIL_DESTINATION ".") ++ find_path(GETOPT_INCLUDE_DIR getopt.h) ++ include(SelectLibraryConfigurations) ++ find_library(GETOPT_LIBRARY_RELEASE NAMES getopt) ++ find_library(GETOPT_LIBRARY_DEBUG NAMES getopt PATH_SUFFIXES debug/lib) ++ select_library_configurations(GETOPT) ++ ++ message("GETOPT_INCLUDE_DIR: ${GETOPT_INCLUDE_DIR}") ++ message("GETOPT_LIBRARY: ${GETOPT_LIBRARY}") ++ ++ target_include_directories(oscap PRIVATE ${GETOPT_INCLUDE_DIR}) ++ target_link_libraries(oscap PRIVATE ${GETOPT_LIBRARY}) ++ ++ set(OSCAP_UTIL_DESTINATION tools) + # Install the 'oscap' utility + install(TARGETS "oscap" + DESTINATION ${OSCAP_UTIL_DESTINATION} + ) +- # Install all recursively dependent DLLs for oscap.exe +- set(APPS "\${CMAKE_INSTALL_PREFIX}/oscap.exe") # the \ before $ is required by BundleUtilities +- set(VCPKG_DLL_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin") +- install(CODE " +- include(BundleUtilities) +- fixup_bundle(\"${APPS}\" \"\" \"${VCPKG_DLL_DIR}\") +- ") + else() +- set(OSCAP_UTIL_DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ set(OSCAP_UTIL_DESTINATION tools) + # Install the 'oscap' utility + install(TARGETS "oscap" + DESTINATION ${OSCAP_UTIL_DESTINATION} + ) + # Install manual page + install(FILES "oscap.8" +- DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" ++ DESTINATION share/openscap/man8 + ) + endif() + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9e18613..e84a21f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,4 +125,8 @@ else() + set(OPENSCAP_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + +-install(TARGETS openscap DESTINATION ${OPENSCAP_INSTALL_DESTINATION}) ++install(TARGETS openscap ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) |
