From 9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 26 Jun 2018 22:31:25 -0700 Subject: [dimcli] Fix Windows builds. Avoid writing to source directory. --- ports/dimcli/CONTROL | 2 +- ports/dimcli/fix-cmake.patch | 23 +++++++++++++++++++++++ ports/dimcli/portfile.cmake | 22 +++++++++++++++++----- 3 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 ports/dimcli/fix-cmake.patch diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL index c8b8c56e2..96943086c 100644 --- a/ports/dimcli/CONTROL +++ b/ports/dimcli/CONTROL @@ -1,3 +1,3 @@ Source: dimcli -Version: 3.1.1-1 +Version: 3.1.1-2 Description: C++ command line parser toolkit diff --git a/ports/dimcli/fix-cmake.patch b/ports/dimcli/fix-cmake.patch new file mode 100644 index 000000000..63795e041 --- /dev/null +++ b/ports/dimcli/fix-cmake.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f319ee..a38eca2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -264,7 +264,7 @@ endfunction() + # "-1.2.3" from the that vcpkg likes to add when building things. + get_filename_component(prjname "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + string(REGEX REPLACE "(-[\.0-9\-]*)$" "" prjname ${prjname}) +-project(${prjname}) ++project(dimcli) + string(TOUPPER "${prjname}" DEFINE_PREFIX) + + get_property(parent DIRECTORY PROPERTY PARENT_DIRECTORY) +@@ -323,9 +323,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) + set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER cmake) + + set(CMAKE_CONFIGURATION_TYPES Debug Release) +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/bin) +-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/bin) + + if(MSVC) + # "/EHsc" - exceptions from c++ only (not from structured or "C") diff --git a/ports/dimcli/portfile.cmake b/ports/dimcli/portfile.cmake index 3c4eb912c..f1cb2f4ec 100644 --- a/ports/dimcli/portfile.cmake +++ b/ports/dimcli/portfile.cmake @@ -3,17 +3,27 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gknowles/dimcli - REF v3.1.1 + REF v3.1.1 SHA512 ed9aeedc59a9d48c59aa8dd1adb9cb110771c1eab0bbab8f8b518e12a45cdafb0ea94301d082ed3a033ca2428c19c8d990c76f666d1e9822cddf6e744f1db701 HEAD_REF master + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/fix-cmake.patch" ) set(staticCrt OFF) -if(VCPKG_CRT_LINKAGE STREQUAL static) +if(VCPKG_CRT_LINKAGE STREQUAL "static") set(staticCrt ON) endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(ENV{_CL_} "/DDIMCLI_LIB_DYN_LINK") +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DLINK_STATIC_RUNTIME:BOOL=${staticCrt} -DINSTALL_LIBS:BOOL=ON + OPTIONS + -DLINK_STATIC_RUNTIME:BOOL=${staticCrt} + -DINSTALL_LIBS:BOOL=ON + -DRECURSIVE_GENERATE=ON ) vcpkg_install_cmake() @@ -22,6 +32,8 @@ vcpkg_install_cmake() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" +file( + INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/dimcli" - RENAME copyright) + RENAME copyright +) -- cgit v1.2.3