aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/openssl/cmake-config.patch
blob: 74251abef9c2627df16bd8dcb71ca3e16057c1b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 09303c4..487ff68 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -338,7 +338,7 @@ bindir={- file_name_is_absolute($bindir)
           ? $bindir : '$(INSTALLTOP)/$(BINDIR)' -}
 
 PKGCONFIGDIR=$(libdir)/pkgconfig
-CMAKECONFIGDIR=$(libdir)/cmake/OpenSSL
+CMAKECONFIGDIR=$(INSTALLTOP)/share/openssl
 
 MANDIR=$(INSTALLTOP)/share/man
 DOCDIR=$(INSTALLTOP)/share/doc/$(BASENAME)
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index 894834c..d6d3c41 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -254,7 +254,7 @@ MODULESDIR=$(MODULESDIR_dev)$(MODULESDIR_dir)
 libdir={- file_name_is_absolute($libdir)
           ? $libdir : '$(INSTALLTOP)\$(LIBDIR)' -}
 
-CMAKECONFIGDIR=$(libdir)\cmake\OpenSSL
+CMAKECONFIGDIR=$(INSTALLTOP)\share\openssl
 
 ##### User defined commands and flags ################################
 
diff --git a/exporters/cmake/OpenSSLConfig.cmake.in b/exporters/cmake/OpenSSLConfig.cmake.in
index 766aebe..026680a 100644
--- a/exporters/cmake/OpenSSLConfig.cmake.in
+++ b/exporters/cmake/OpenSSLConfig.cmake.in
@@ -91,8 +91,7 @@ get_filename_component(_ossl_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH)
 {-
   # For each component in $OpenSSL::safe::installdata::CMAKECONFIGDIR[0] relative to
   # $OpenSSL::safe::installdata::PREFIX[0], have CMake figure out the parent directory.
-  my $d = join('/', unixify(catdir($OpenSSL::safe::installdata::LIBDIR_REL_PREFIX[0],
-                                   $OpenSSL::safe::installdata::CMAKECONFIGDIR_REL_LIBDIR[0]), 1));
+  my $d = 'share/openssl';
   $OUT = '';
   if ($d ne '.') {
       $OUT .= 'get_filename_component(_ossl_prefix "${_ossl_prefix}" PATH)' . "\n"
@@ -141,6 +140,14 @@ set(OPENSSL_APPLINK_SOURCE "${_ossl_prefix}/{- unixify($OpenSSL::safe::installda
 {- output_on() if $disabled{uplink}; "" -}
 set(OPENSSL_PROGRAM "${OPENSSL_RUNTIME_DIR}/{- platform->bin('openssl') -}")
 
+if(NOT Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG)
+  # Prevent loop
+  set(Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG "prevent-loop")
+  # Chainload vcpkg's module-based multi-config target setup
+  find_package(OpenSSL MODULE)
+  set(Z_VCPKG_OPENSSL_USE_SINGLE_CONFIG 0)
+else()
+  # Use official single-config target setup
 # Set up the imported targets
 if(_ossl_use_static_libs)
 {- output_off() unless $no_static; "" -}
@@ -240,5 +247,6 @@ set_property(TARGET OpenSSL::applink PROPERTY
   INTERFACE_SOURCES "${OPENSSL_APPLINK_SOURCE}")
 {- output_on() if $disabled{uplink}; "" -}
 
+endif()
 unset(_ossl_prefix)
 unset(_ossl_use_static_libs)