@@ -67,31 +67,40 @@ else()
6767 message ("-- Building ${Green} dynamic${ColourReset} library." )
6868endif ()
6969
70-
70+ if (CONAN_EXPORTED)
71+ message ("-- INFO: ${Green} Conan detected${ColourReset} ... finding packages..." )
72+ find_package (OpenSSL REQUIRED COMPONENTS SSL Crypto )
73+ find_package (ZLIB REQUIRED )
74+ find_package (Opus )
75+ find_package (Threads REQUIRED )
76+ find_package (Git QUIET )
77+ endif ()
7178
7279if (WIN32 AND NOT MINGW)
7380 # Fake an ssl version number to satisfy MLSPP
7481 set (OPENSSL_VERSION "1.1.1f" )
7582 if (NOT WINDOWS_32_BIT)
7683 message ("-- Building for windows with precompiled packaged dependencies" )
7784 #set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
78- set (ZLIB_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib" )
79- set (ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
80- set (OPENSSL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
81- set (OPENSSL_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib" )
82- #ADD_DEFINITIONS(/bigobj)
83-
84- link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/libssl.lib" )
85- link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/libcrypto.lib" )
86- link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/zlib.lib" )
87- link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/opus.lib" )
88-
89- set (OPUS_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
90- set (OPUS_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/opus.lib" )
91- set (HAVE_OPUS_OPUS_H "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include/opus/opus.h" )
92- set (OPUS_FOUND 1)
85+ if (NOT CONAN_EXPORTED)
86+ set (ZLIB_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib" )
87+ set (ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
88+ set (OPENSSL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
89+ set (OPENSSL_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib" )
90+
91+ link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/libssl.lib" )
92+ link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/libcrypto.lib" )
93+ link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/zlib.lib" )
94+ link_libraries ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/opus.lib" )
95+
96+ set (OPUS_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
97+ set (OPUS_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/opus.lib" )
98+ set (HAVE_OPUS_OPUS_H "${CMAKE_CURRENT_SOURCE_DIR} /../win32/include/opus/opus.h" )
99+
100+ include_directories ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
101+ endif ()
93102
94- include_directories ( " ${CMAKE_CURRENT_SOURCE_DIR} /../win32/include" )
103+ set (OPUS_FOUND 1 )
95104
96105 add_compile_options ("/bigobj" )
97106 add_compile_definitions (OPENSSL_SYS_WIN32 )
@@ -154,31 +163,39 @@ string(ASCII 27 Esc)
154163
155164set (THREADS_PREFER_PTHREAD_FLAG ON )
156165
157- find_package (Threads REQUIRED )
166+ if (NOT CONAN_EXPORTED)
167+ find_package (Threads REQUIRED )
168+ endif ()
158169if (MINGW OR NOT WIN32 )
159- find_package (ZLIB REQUIRED )
170+ if (NOT CONAN_EXPORTED)
171+ find_package (ZLIB REQUIRED )
172+ endif ()
160173 message ("-- ZLIB: ${Green}${ZLIB_LIBRARIES}${ColourReset} " )
161174endif (MINGW OR NOT WIN32 )
162175
163- if (APPLE )
164- if (CMAKE_APPLE_SILICON_PROCESSOR EQUAL arm64)
165- set (OPENSSL_ROOT_DIR "/opt/homebrew/opt/openssl" )
166- else ()
167- set (OPENSSL_ROOT_DIR "/usr/local/opt/openssl" )
168- endif ()
169- find_package (OpenSSL REQUIRED )
170- else ()
171- if (MINGW OR NOT WIN32 )
172- if (NOT BUILD_SHARED_LIBS )
173- set (OPENSSL_USE_STATIC_LIBS TRUE )
176+ if (NOT CONAN_EXPORTED)
177+ if (APPLE )
178+ if (CMAKE_APPLE_SILICON_PROCESSOR EQUAL arm64)
179+ set (OPENSSL_ROOT_DIR "/opt/homebrew/opt/openssl" )
180+ else ()
181+ set (OPENSSL_ROOT_DIR "/usr/local/opt/openssl" )
174182 endif ()
175183 find_package (OpenSSL REQUIRED )
184+ else ()
185+ if (MINGW OR NOT WIN32 )
186+ if (NOT BUILD_SHARED_LIBS )
187+ set (OPENSSL_USE_STATIC_LIBS TRUE )
188+ endif ()
189+ find_package (OpenSSL REQUIRED )
190+ endif ()
176191 endif ()
177192endif ()
178193
179194include_directories (${OPENSSL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} )
180195
181- find_package (Git QUIET )
196+ if (NOT CONAN_EXPORTED)
197+ find_package (Git QUIET )
198+ endif ()
182199
183200if (NOT GIT_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR} /../.git" )
184201 message (FATAL_ERROR "You are using a git version of D++ but do not have git installed. Install git (not 'gh') and try again." )
@@ -263,7 +280,7 @@ foreach (fullmodname ${subdirlist})
263280 )
264281 endif ()
265282
266- if (WIN32 AND NOT MINGW)
283+ if (WIN32 AND NOT MINGW AND NOT CONAN_EXPORTED )
267284
268285 if (NOT WINDOWS_32_BIT)
269286 target_link_libraries (${modname} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR} /../win32/lib/libssl.lib"
@@ -278,7 +295,11 @@ foreach (fullmodname ${subdirlist})
278295 endif ()
279296
280297 else ()
281- target_link_libraries (${modname} PUBLIC ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${ZLIB_LIBRARIES} )
298+ if (CONAN_EXPORTED)
299+ target_link_libraries (${modname} PUBLIC openssl::openssl ZLIB::ZLIB Opus::opus )
300+ else ()
301+ target_link_libraries (${modname} PUBLIC ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${ZLIB_LIBRARIES} )
302+ endif ()
282303 if (MINGW)
283304 target_link_libraries (${modname} PUBLIC wsock32 ws2_32 crypt32 )
284305 endif ()
@@ -435,18 +456,20 @@ if (DPP_BUILD_TEST)
435456 COMMAND unittest
436457 )
437458endif ()
438-
439- if (WIN32 AND NOT MINGW)
440- if (NOT WINDOWS_32_BIT)
441- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/zlib1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
442- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/libcrypto-1_1-x64.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
443- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/libssl-1_1-x64.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
444- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/opus.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
445- else ()
446- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/zlib1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
447- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/libcrypto-1_1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
448- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/libssl-1_1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
449- configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/opus.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
459+
460+ if (NOT CONAN_EXPORTED)
461+ if (WIN32 AND NOT MINGW)
462+ if (NOT WINDOWS_32_BIT)
463+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/zlib1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
464+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/libcrypto-1_1-x64.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
465+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/libssl-1_1-x64.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
466+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/bin/opus.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
467+ else ()
468+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/zlib1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
469+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/libcrypto-1_1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
470+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/libssl-1_1.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
471+ configure_file ("${CMAKE_CURRENT_SOURCE_DIR} /../win32/32/bin/opus.dll" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY} " COPYONLY )
472+ endif ()
450473 endif ()
451474endif ()
452475
0 commit comments