diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-06-26 22:31:25 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-06-26 22:31:25 -0700 |
| commit | 9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84 (patch) | |
| tree | 45408002fdec0a9cccf5d8e102d40f951faca857 | |
| parent | b93fb28e7c05c1061370d32658e6601416d21a01 (diff) | |
| download | vcpkg-9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84.tar.gz vcpkg-9e9fc7a9b357c94b265a04ddeffdcb7f57b6cb84.zip | |
[dimcli] Fix Windows builds. Avoid writing to source directory.
| -rw-r--r-- | ports/dimcli/CONTROL | 2 | ||||
| -rw-r--r-- | ports/dimcli/fix-cmake.patch | 23 | ||||
| -rw-r--r-- | ports/dimcli/portfile.cmake | 22 |
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 +) |
