aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-06-26 22:31:25 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-06-26 22:31:25 -0700
commit9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84 (patch)
tree45408002fdec0a9cccf5d8e102d40f951faca857
parentb93fb28e7c05c1061370d32658e6601416d21a01 (diff)
downloadvcpkg-9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84.tar.gz
vcpkg-9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84.zip
[dimcli] Fix Windows builds. Avoid writing to source directory.
-rw-r--r--ports/dimcli/CONTROL2
-rw-r--r--ports/dimcli/fix-cmake.patch23
-rw-r--r--ports/dimcli/portfile.cmake22
3 files changed, 41 insertions, 6 deletions
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
+)