aboutsummaryrefslogtreecommitdiff
path: root/ports/cppunit/portfile.cmake
diff options
context:
space:
mode:
authordweckmann <didier.weckmann@ircad.fr>2020-12-29 04:35:08 +0100
committerGitHub <noreply@github.com>2020-12-28 19:35:08 -0800
commite2d34085478b0a8d13120287894a52b7e104fd3f (patch)
tree484cf0ca53f090785569cde02679566a9e5f0aa1 /ports/cppunit/portfile.cmake
parent6d84d56cd5ebc4c61ad093bd4de803ac3fea412f (diff)
downloadvcpkg-e2d34085478b0a8d13120287894a52b7e104fd3f.tar.gz
vcpkg-e2d34085478b0a8d13120287894a52b7e104fd3f.zip
[cppunit] add linux support and bump version to 1.15.1 (#15018)
Diffstat (limited to 'ports/cppunit/portfile.cmake')
-rw-r--r--ports/cppunit/portfile.cmake121
1 files changed, 65 insertions, 56 deletions
diff --git a/ports/cppunit/portfile.cmake b/ports/cppunit/portfile.cmake
index ab41ffcaf..85beec692 100644
--- a/ports/cppunit/portfile.cmake
+++ b/ports/cppunit/portfile.cmake
@@ -1,56 +1,65 @@
-if(NOT VCPKG_TARGET_IS_WINDOWS)
- message(FATAL_ERROR "\n${PORT} does not support your system, only Windows for now. Please open a ticket issue on github.com/microsoft/vcpkg if necessary\n")
-endif()
-
-set(VERSION 1.14.0)
-if (VCPKG_CRT_LINKAGE STREQUAL static)
- set(STATIC_PATCH "0001-static-crt-linkage.patch")
-endif()
-
-vcpkg_download_distfile(ARCHIVE
- URLS "http://dev-www.libreoffice.org/src/cppunit-${VERSION}.tar.gz"
- FILENAME "cppunit-${VERSION}.tar.gz"
- SHA512 4ea1da423c6f7ab37e4144689f593396829ce74d43872d6b10709c1ad5fbda4ee945842f7e9803592520ef81ac713e95a3fe130295bf048cd32a605d1959882e
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- ${STATIC_PATCH}
-)
-
-if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
- set(BUILD_ARCH "Win32")
- set(OUTPUT_DIR "Win32")
-elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
- set(BUILD_ARCH "x64")
-else()
- message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
-endif()
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/src/cppunit/cppunit_dll.vcxproj
- PLATFORM ${BUILD_ARCH})
-elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/src/cppunit/cppunit.vcxproj
- PLATFORM ${BUILD_ARCH})
-endif()
-
-file(COPY ${SOURCE_PATH}/include/cppunit DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(COPY ${SOURCE_PATH}/lib/cppunitd_dll.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(COPY ${SOURCE_PATH}/lib/cppunitd_dll.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(COPY ${SOURCE_PATH}/lib/cppunit_dll.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(COPY ${SOURCE_PATH}/lib/cppunit_dll.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(COPY ${SOURCE_PATH}/lib/cppunitd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(COPY ${SOURCE_PATH}/lib/cppunit.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-endif()
-
-vcpkg_copy_pdbs()
-
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppunit RENAME copyright)
+# UWP is not supported
+vcpkg_fail_port_install(ON_TARGET "uwp")
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz"
+ FILENAME "cppunit-1.15.1.tar.gz"
+ SHA512 0feb47faec451357bb4c4e287efa17bb60fd3ad966d5350e9f25b414aaab79e94921024b0c0497672f8d3eeb22a599213d2d71d9e1d28b243b3e37f3a9a43691
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ # Use a simple CMakeLists.txt to build CppUnit on windows
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ )
+
+ vcpkg_install_cmake()
+
+ # Move EXE to 'tools'
+ vcpkg_copy_tools(TOOL_NAMES DllPlugInTester AUTO_CLEAN)
+else()
+ # Use a configure on unix. It should be doable to use the cmake, but may require some patching
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(LINKAGE_DYNAMIC yes)
+ set(LINKAGE_STATIC no)
+ else()
+ set(LINKAGE_DYNAMIC no)
+ set(LINKAGE_STATIC yes)
+ endif()
+
+ vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+ OPTIONS
+ "--enable-shared=${LINKAGE_DYNAMIC}"
+ "--enable-static=${LINKAGE_STATIC}"
+ "--prefix=${CURRENT_INSTALLED_DIR}"
+ "--disable-doxygen"
+ OPTIONS_DEBUG
+ "--enable-debug"
+ )
+
+ vcpkg_install_make()
+endif()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+# Install CppUnitConfig.cmake
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/CppUnitConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+
+# Cleanup
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+) \ No newline at end of file