mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
[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:
parent
c31e85586c
commit
6cb714f850
3
ports/systemc/CONTROL
Normal file
3
ports/systemc/CONTROL
Normal 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++
|
23
ports/systemc/install.patch
Normal file
23
ports/systemc/install.patch
Normal 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)
|
41
ports/systemc/portfile.cmake
Normal file
41
ports/systemc/portfile.cmake
Normal 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)
|
8
ports/systemc/tlm_correct_dependency.patch
Normal file
8
ports/systemc/tlm_correct_dependency.patch
Normal 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)
|
Loading…
x
Reference in New Issue
Block a user