[systemc] Add new port (Microsoft#5250) (#5252)

* [systemc] Add new port (Microsoft#5250)

* [systemc] Fix debug targets

* [systemc] Use vcpkg_extract_source_archive_ex()

* [systemc] Disable vcpkg_test_cmake() for now due to issues

* [systemc] Fixup cmake targets
This commit is contained in:
ncihnegn 2019-02-01 18:32:57 -08:00 committed by Robert Schumacher
parent c31e85586c
commit 6cb714f850
4 changed files with 75 additions and 0 deletions

3
ports/systemc/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: systemc
Version: 2.3.3-2
Description: A set of C++ classes and macros which provide an event-driven simulation kernel in C++

View File

@ -0,0 +1,23 @@
--- CMakeLists.txt Sat Oct 13 00:19:07 2018
+++ CMakeLists.txt.fixed Mon Jan 28 15:51:38 2019
@@ -555,7 +555,7 @@
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" 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
@@ -589,9 +589,9 @@
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 share/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/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)

View File

@ -0,0 +1,41 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
set(SYSTEMC_VERSION 2.3.3)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.accellera.org/images/downloads/standards/systemc/systemc-${SYSTEMC_VERSION}.zip"
FILENAME "systemc-${SYSTEMC_VERSION}.zip"
SHA512 f4df172addf816a1928d411dcab42c1679dc4c9d772f406c10d798a2c174d89cdac7a83947fa8beea1e3aff93da522d2d2daf61a4841ec456af7b7446c5c4a14
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${SYSTEMC_VERSION}
PATCHES
install.patch
tlm_correct_dependency.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCMAKE_CXX_STANDARD=17
-DDISABLE_COPYRIGHT_MESSAGE=ON
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCLanguage TARGET_PATH share/SystemCLanguage)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCTLM TARGET_PATH share/SystemCTLM)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright)
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/qt/time)
# Post-build test for cmake libraries (disabled for now due to issues with vcpkg_test_cmake)
#vcpkg_test_cmake(PACKAGE_NAME SystemCLanguage)
#vcpkg_test_cmake(PACKAGE_NAME SystemCTLM)

View File

@ -0,0 +1,8 @@
--- cmake\SystemCTLMConfig.cmake.in Sat Oct 13 00:19:07 2018
+++ cmake\SystemCTLMConfig.cmake.in.fixed Mon Jan 28 15:23:44 2019
@@ -2,4 +2,4 @@
# TLM is part of the SystemC language library.
include(CMakeFindDependencyMacro)
-find_dependency (SystemC @SystemCLanguage_VERSION_MAJOR@.@SystemCLanguage_VERSION_MINOR@.@SystemCLanguage_VERSION_PATCH@.@SystemCLanguage_VERSION_RELEASE_DATE@ EXACT)
+find_dependency (SystemCLanguage @SystemCLanguage_VERSION_MAJOR@.@SystemCLanguage_VERSION_MINOR@.@SystemCLanguage_VERSION_PATCH@.@SystemCLanguage_VERSION_RELEASE_DATE@ EXACT)