Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ports/z3/CONTROL
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Source: z3
Version: 4.8.4
Version: 4.8.4-1
Description: An SMT solver
116 changes: 116 additions & 0 deletions ports/z3/fix-install-path.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9877af8..10ef458 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -675,7 +675,7 @@ install(EXPORT
Z3_EXPORTED_TARGETS
FILE "Z3Targets.cmake"
NAMESPACE z3::
- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
+ DESTINATION share/z3
)
set(Z3_INSTALL_TREE_CMAKE_CONFIG_FILE "${CMAKE_BINARY_DIR}/cmake/Z3Config.cmake")
set(Z3_FIRST_PACKAGE_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
@@ -700,7 +700,7 @@ unset(CONFIG_FILE_TYPE)
# Add install rule to install ${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}
install(
FILES "${Z3_INSTALL_TREE_CMAKE_CONFIG_FILE}"
- DESTINATION "${CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR}"
+ DESTINATION share/z3
)

# TODO: Provide a `Z3Version.cmake` file so that clients can specify the version
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index b097126..e127bef 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -88,6 +88,6 @@ set(CMAKE_INSTALL_API_BINDINGS_DOC
if (INSTALL_API_BINDINGS_DOCUMENTATION)
install(
DIRECTORY "${DOC_DEST_DIR}"
- DESTINATION "${CMAKE_INSTALL_API_BINDINGS_DOC}"
+ DESTINATION share/z3
)
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c497c19..0b0e081 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -173,7 +173,8 @@ install(TARGETS libz3
EXPORT Z3_EXPORTED_TARGETS
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" # On Windows this installs ``libz3.lib`` which CMake calls the "corresponding import library". Do we want this installed?
- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" # For Windows. DLLs are runtime targets for CMake
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" # For Windows. DLLs are runtime targets for CMake
+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" # For MACOSX.
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)

diff --git a/src/api/dotnet/CMakeLists.txt b/src/api/dotnet/CMakeLists.txt
index 20621e4..57bb3f0 100644
--- a/src/api/dotnet/CMakeLists.txt
+++ b/src/api/dotnet/CMakeLists.txt
@@ -257,7 +257,7 @@ if (DOTNET_TOOLCHAIN_IS_MONO)
message(STATUS "Emitting install rules for .NET bindings")
# Install pkgconfig file for the assembly. This is needed by Monodevelop
# to find the assembly
- install(FILES "${Z3_DOTNET_PKGCONFIG_FILE}" DESTINATION "${CMAKE_INSTALL_PKGCONFIGDIR}")
+ install(FILES "${Z3_DOTNET_PKGCONFIG_FILE}" DESTINATION share/z3/pkgconfig)

# Configure the install and uninstall scripts.
# Note: If multi-configuration generator support is ever fixed then these
@@ -266,7 +266,7 @@ if (DOTNET_TOOLCHAIN_IS_MONO)
configure_file(cmake_uninstall_gac.cmake.in cmake_uninstall_gac.cmake @ONLY)

# Tell CMake to Invoke a script to install assembly to the GAC during install
- install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/cmake_install_gac.cmake")
+ install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/cmake_install_gac.cmake" DESTINATION share/z3)

# Add custom target to uninstall the assembly from the GAC
add_custom_target(remove_dotnet_dll_from_gac
@@ -280,7 +280,7 @@ elseif(DOTNET_TOOLCHAIN_IS_WINDOWS)
# Don't install Z3_DOTNET_ASSEMBLY_DLL into the gac. Instead just copy into
# installation directory.
install(FILES "${Z3_DOTNET_ASSEMBLY_DLL}" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
- install(FILES "${Z3_DOTNET_ASSEMBLY_DLL_DOC}" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+ install(FILES "${Z3_DOTNET_ASSEMBLY_DLL_DOC}" DESTINATION share/z3)
else()
message(FATAL_ERROR "Unknown .NET toolchain")
endif()
diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt
index c2d73ff..506142c 100644
--- a/src/api/java/CMakeLists.txt
+++ b/src/api/java/CMakeLists.txt
@@ -228,7 +228,7 @@ if (INSTALL_JAVA_BINDINGS)
PATH
"Directory to install Z3 Java JNI bridge library relative to install prefix"
)
- install(TARGETS z3java DESTINATION "${Z3_JAVA_JNI_LIB_INSTALLDIR}")
+ install(TARGETS z3java DESTINATION share/z3)
# Note: Don't use ``DESTINATION`` here as the version of ``UseJava.cmake`` shipped
# with CMake 2.8.12.2 handles that incorrectly.
install_jar(z3JavaJar "${Z3_JAVA_JAR_INSTALLDIR}")
diff --git a/src/api/python/CMakeLists.txt b/src/api/python/CMakeLists.txt
index 6efdc15..e4d5be0 100644
--- a/src/api/python/CMakeLists.txt
+++ b/src/api/python/CMakeLists.txt
@@ -136,7 +136,7 @@ if (INSTALL_PYTHON_BINDINGS)
# Using DESTDIR still seems to work even if we use an absolute path
message(STATUS "Python bindings will be installed to \"${CMAKE_INSTALL_PYTHON_PKG_DIR}\"")
install(FILES ${build_z3_python_bindings_target_depends}
- DESTINATION "${CMAKE_INSTALL_PYTHON_PKG_DIR}/z3"
+ DESTINATION share/z3
)
else()
message(STATUS "Not emitting rules to install Z3 python bindings")
diff --git a/src/shell/CMakeLists.txt b/src/shell/CMakeLists.txt
index 2782463..b6cd2f1 100644
--- a/src/shell/CMakeLists.txt
+++ b/src/shell/CMakeLists.txt
@@ -44,5 +44,5 @@ target_link_libraries(shell PRIVATE ${Z3_DEPENDENT_LIBS})
z3_add_component_dependencies_to_target(shell ${shell_expanded_deps})
z3_append_linker_flag_list_to_target(shell ${Z3_DEPENDENT_EXTRA_CXX_LINK_FLAGS})
install(TARGETS shell
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ RUNTIME DESTINATION tools/z3
)
35 changes: 8 additions & 27 deletions ports/z3/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ vcpkg_from_github(
REF z3-4.8.4
SHA512 4660ba6ab33a6345b2e8396c332d4afcfc73eda66ceb2595a39f152df4d62a9ea0f349b0f9212389ba84ecba6bdae6ad9b62b376ba44dc4d9c74f80d7a818bf4
HEAD_REF master
PATCHES fix_cmake_long_dir.patch
PATCHES
fix_cmake_long_dir.patch
fix-install-path.patch
)

if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
Expand All @@ -32,32 +34,11 @@ vcpkg_configure_cmake(
${BUILD_STATIC}
)

vcpkg_build_cmake()
vcpkg_install_cmake()
vcpkg_copy_pdbs()


function(install_z3 SHORT_BUILDTYPE DEBUG_DIR)
set(LIBS ".so" ".lib" ".dylib" ".a")
set(DLLS ".dll" ".pdb")
file(GLOB FILES ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}/libz3.*)

foreach (FILE in ${FILES})
get_filename_component(FILEXT ${FILE} EXT)
if ("${FILEXT}" IN_LIST LIBS)
file(INSTALL ${FILE} DESTINATION ${CURRENT_PACKAGES_DIR}${DEBUG_DIR}/lib)
elseif ("${FILEXT}" IN_LIST DLLS)
file(INSTALL ${FILE} DESTINATION ${CURRENT_PACKAGES_DIR}${DEBUG_DIR}/bin)
endif()
endforeach()
endfunction()

if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
install_z3("dbg" "/debug")
endif()
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
install_z3("rel" "")
endif()

file(GLOB HEADERS ${SOURCE_PATH}/src/api/z3*.h)
file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${CURRENT_PACKAGES_DIR}/debug/share/z3/Z3Targets-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/z3)
Comment thread
JackBoosY marked this conversation as resolved.
Outdated
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)

file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/z3 RENAME copyright)