diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/systemc | |
Diffstat (limited to 'vcpkg/ports/systemc')
| -rw-r--r-- | vcpkg/ports/systemc/install.patch | 31 | ||||
| -rw-r--r-- | vcpkg/ports/systemc/portfile.cmake | 29 | ||||
| -rw-r--r-- | vcpkg/ports/systemc/vcpkg.json | 16 |
3 files changed, 76 insertions, 0 deletions
diff --git a/vcpkg/ports/systemc/install.patch b/vcpkg/ports/systemc/install.patch new file mode 100644 index 0000000..ef133a1 --- /dev/null +++ b/vcpkg/ports/systemc/install.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7815ae..86d79d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -555,7 +555,7 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + + # Set the installation paths for headers, libraries, and documentation. +-set (CMAKE_INSTALL_DOCDIR "share/doc/systemc" CACHE PATH ++set (CMAKE_INSTALL_DOCDIR "share/systemc/doc" CACHE PATH + "Documentation installation directory") # otherwise mixed-case + if (INSTALL_TO_LIB_BUILD_TYPE_DIR) + # Install libraries to lib-${CMAKE_BUILD_TYPE} so that different build variants +@@ -584,14 +584,14 @@ if (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + endif (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + + if (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR share/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory" FORCE) + set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory" FORCE) + else (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory for the SystemCLanguage package.") +- set (SystemCTLM_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCTLM CACHE PATH ++ set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory for the SystemCTLM package.") + endif (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) + mark_as_advanced(SystemCLanguage_INSTALL_CMAKEDIR SystemCTLM_INSTALL_CMAKEDIR) diff --git a/vcpkg/ports/systemc/portfile.cmake b/vcpkg/ports/systemc/portfile.cmake new file mode 100644 index 0000000..91c842f --- /dev/null +++ b/vcpkg/ports/systemc/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO accellera-official/systemc
+ REF "${VERSION}"
+ SHA512 50ebda68ef253a4ddbbafaabf2f1351a31c43e92198e161e19b63165426357b20f137c8b4b03b9f6ebfd56b2170d8ab2b256392e21e9e4ad9a4e7aa65a262d7d
+ HEAD_REF main
+ PATCHES
+ install.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_CXX_STANDARD=17
+ -DDISABLE_COPYRIGHT_MESSAGE=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SystemCLanguage PACKAGE_NAME systemclanguage)
+vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/SystemCTLM PACKAGE_NAME systemctlm)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/sysc/packages/boost")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/sysc/packages/qt/time")
+
+file(INSTALL "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/systemc/vcpkg.json b/vcpkg/ports/systemc/vcpkg.json new file mode 100644 index 0000000..de662c5 --- /dev/null +++ b/vcpkg/ports/systemc/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "systemc", + "version": "3.0.2", + "description": "A set of C++ classes and macros which provide an event-driven simulation kernel in C++", + "homepage": "https://systemc.org/overview/systemc/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |