This commit is contained in:
layman
2022-03-22 14:37:07 +01:00
parent f837ecd28f
commit 5779df7954
7 changed files with 446 additions and 0 deletions
@@ -0,0 +1,27 @@
From 13f974157b178efe4c6d617f23246dde2b100f0d Mon Sep 17 00:00:00 2001
From: Bernd Waibel <waebbl-gentoo@posteo.net>
Date: Wed, 10 Feb 2021 18:49:14 +0100
Subject: [PATCH] [Gentoo-specific] avoid pre-stripping library
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---
CMakeLists.txt | 3 ---
1 file changed, 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9c8b4ba..05d493f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -182,9 +182,6 @@ if (UNIX OR MINGW)
# Uncomment the following to put the version info into the .so-file.
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "${LIB3MF_VERSION_MAJOR}.${LIB3MF_VERSION_MINOR}.${LIB3MF_VERSION_MICRO}.${BUILD_NUMBER}")
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION "${LIB3MF_VERSION_MAJOR}")
- if (NOT APPLE)
- set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS -s)
- endif()
else()
# wd4996 masks the deprecated-warning
target_compile_options(${PROJECT_NAME} PUBLIC "$<$<CONFIG:DEBUG>:/Od;/Ob0;/sdl;/W3;/WX;/FC;/wd4996>")
--
2.30.1
@@ -0,0 +1,141 @@
From c4e004aa8580f799dbbb7ec6951e0826dc387811 Mon Sep 17 00:00:00 2001
From: Bernd Waibel <waebbl-gentoo@posteo.net>
Date: Tue, 6 Apr 2021 08:45:45 +0200
Subject: [PATCH] patch to use system-provided act binary
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---
CMakeLists.txt | 109 +++++++++++++++++++++++++++++++++----------------
1 file changed, 73 insertions(+), 36 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 64a11d9..55abdde 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,14 +54,19 @@ if (${MSVC})
endif()
### The API generation target
-if(CMAKE_HOST_UNIX)
- if(APPLE)
- set(ACT_COMMANDENDING darwin)
- else()
- set(ACT_COMMANDENDING linux)
+option(USE_SYSTEM_ACT "Use system-provided act binary" OFF)
+if(NOT USE_SYSTEM_ACT)
+ if(CMAKE_HOST_UNIX)
+ if(APPLE)
+ set(ACT_COMMANDENDING darwin)
+ else()
+ set(ACT_COMMANDENDING linux)
+ endif()
+ elseif(CMAKE_HOST_WIN32)
+ set(ACT_COMMANDENDING exe)
endif()
-elseif(CMAKE_HOST_WIN32)
- set(ACT_COMMANDENDING exe)
+else()
+ find_program(ACT act)
endif()
set(CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED ${CMAKE_CURRENT_BINARY_DIR}/Autogenerated)
@@ -71,35 +76,67 @@ set(ACT_GENERATED_SOURCE
${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation/lib3mf_interfacewrapper.cpp
${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation/lib3mf_interfacejournal.cpp
)
-add_custom_command(
- BYPRODUCTS
- ${ACT_GENERATED_SOURCE}
- OUTPUT
- ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
- WORKING_DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
- COMMAND
- cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}"
- COMMAND
- cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
- COMMAND
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
- COMMAND
- cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source"
- COMMAND
- cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings"
- COMMAND
- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings
- COMMAND
- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation"
- COMMAND
- cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
- COMMENT
- "Generating hourglass API bindings and implementation stub"
- DEPENDS
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
- VERBATIM
-)
+if(NOT USE_SYSTEM_ACT)
+ add_custom_command(
+ BYPRODUCTS
+ ${ACT_GENERATED_SOURCE}
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
+ COMMAND
+ cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}"
+ COMMAND
+ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
+ COMMAND
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings"
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
+ COMMENT
+ "Generating hourglass API bindings and implementation stub"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ VERBATIM
+ )
+else()
+ add_custom_command(
+ BYPRODUCTS
+ ${ACT_GENERATED_SOURCE}
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
+ COMMAND
+ cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}"
+ COMMAND
+ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
+ COMMAND
+ ${ACT} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings"
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
+ COMMENT
+ "Generating hourglass API bindings and implementation stub"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ VERBATIM
+ )
+endif()
add_custom_target(lib3mfACT
DEPENDS
--
2.31.1
@@ -0,0 +1,141 @@
From: Bernd Waibel <waebbl-gentoo@posteo.net>
Date: Wed, 25 Aug 2021 09:29:17 +0200
Subject: [PATCH] use system provided act binary
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---
CMakeLists.txt | 110 ++++++++++++++++++++++++++++++++-----------------
1 file changed, 73 insertions(+), 37 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d70a030..9c91496 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,14 +62,19 @@ endif()
### The API generation target
-if(CMAKE_HOST_UNIX)
- if(APPLE)
- set(ACT_COMMANDENDING darwin)
- else()
- set(ACT_COMMANDENDING linux)
+option(USE_SYSTEM_ACT "Use system provided act binary" OFF)
+if(NOT USE_SYSTEM_ACT)
+ if(CMAKE_HOST_UNIX)
+ if(APPLE)
+ set(ACT_COMMANDENDING darwin)
+ else()
+ set(ACT_COMMANDENDING linux)
+ endif()
+ elseif(CMAKE_HOST_WIN32)
+ set(ACT_COMMANDENDING exe)
endif()
-elseif(CMAKE_HOST_WIN32)
- set(ACT_COMMANDENDING exe)
+else()
+ find_program(ACT act)
endif()
set(CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED ${CMAKE_CURRENT_SOURCE_DIR}/Autogenerated)
@@ -80,36 +85,67 @@ set(ACT_GENERATED_SOURCE
${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/lib3mf_interfacewrapper.cpp
${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/lib3mf_interfacejournal.cpp
)
-add_custom_command(
- BYPRODUCTS
- ${ACT_GENERATED_SOURCE}
- OUTPUT
- ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
- WORKING_DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
- COMMAND
- cmake -E make_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}"
- COMMAND
- cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
- COMMAND
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
- COMMAND
- cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source"
- COMMAND
- cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings"
- COMMAND
- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings
- COMMAND
- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/"
- COMMAND
- cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
- COMMENT
- "Generating hourglass API bindings and implementation stub"
- DEPENDS
- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
- VERBATIM
-)
-
+if(NOT USE_SYSTEM_ACT)
+ add_custom_command(
+ BYPRODUCTS
+ ${ACT_GENERATED_SOURCE}
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
+ COMMAND
+ cmake -E make_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}"
+ COMMAND
+ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
+ COMMAND
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings"
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
+ COMMENT
+ "Generating hourglass API bindings and implementation stub"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ VERBATIM
+ )
+else()
+ add_custom_command(
+ BYPRODUCTS
+ ${ACT_GENERATED_SOURCE}
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
+ COMMAND
+ cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}"
+ COMMAND
+ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
+ COMMAND
+ ${ACT} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings"
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings
+ COMMAND
+ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/"
+ COMMAND
+ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
+ COMMENT
+ "Generating hourglass API bindings and implementation stub"
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+ VERBATIM
+ )
+endif()
add_custom_target(lib3mfACT
DEPENDS
${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
--
2.32.0
@@ -0,0 +1,29 @@
From: Bernd Waibel <waebbl-gentoo@posteo.net>
Date: Wed, 25 Aug 2021 18:19:25 +0200
Subject: [PATCH] [Gentoo specific] remove add_dependencies
Remove the add_dependencies commands on ssl and crypto.
We use global openssl support instead of package libressl.
Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---
Tests/CPP_Bindings/CMakeLists.txt | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Tests/CPP_Bindings/CMakeLists.txt b/Tests/CPP_Bindings/CMakeLists.txt
index 4a816a5..c26c498 100644
--- a/Tests/CPP_Bindings/CMakeLists.txt
+++ b/Tests/CPP_Bindings/CMakeLists.txt
@@ -47,9 +47,6 @@ if (WIN32)
target_compile_options(${TESTNAME} PUBLIC "$<$<CONFIG:RELEASE>:/O2;/sdl;/WX;/Oi;/Gy;/FC;/MD;/wd4996>")
endif()
-add_dependencies(${TESTNAME} ssl)
-add_dependencies(${TESTNAME} crypto)
-
target_include_directories(${TESTNAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/Include
${gtest_SOURCE_DIR}/include
--
2.32.0