Skip to content

Commit

Permalink
feat:使用openssl-cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
overwriter committed Dec 23, 2023
1 parent e771aed commit f665b40
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 14 deletions.
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "QCloudMusicApi/GmSSL"]
path = QCloudMusicApi/GmSSL
url = [email protected]:guanzhi/GmSSL.git
[submodule "QCloudMusicApi/openssl-cmake"]
path = QCloudMusicApi/openssl-cmake
url = [email protected]:janbar/openssl-cmake.git
10 changes: 8 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ project(QCloudMusicApiProject VERSION 1.0)
set(CMAKE_CXX_STANDARD 17)

# set default output path
if(NOT ANDROID)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/lib)
else()

endif()
set(CMAKE_HEADER_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/output/include)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
Expand All @@ -24,12 +28,14 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
# 添加子目录
add_subdirectory(QCloudMusicApi)
add_subdirectory(Test)
add_subdirectory(CApi)

find_package(QT NAMES Qt6 Qt5)
find_package(Qt${QT_VERSION_MAJOR})
if(${QT_VERSION} VERSION_GREATER 6.4.0)
add_subdirectory(ApiServer)
if(NOT ANDROID)
add_subdirectory(ApiServer)
add_subdirectory(CApi)
endif()
endif()

# 设置安装前缀为二进制目录
Expand Down
28 changes: 25 additions & 3 deletions QCloudMusicApi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,32 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(OpenSSL REQUIRED)
# Provides dependency openssl
find_package(OpenSSL QUIET)
if(NOT OPENSSL_FOUND)
add_subdirectory(
${CMAKE_CURRENT_SOURCE_DIR}/openssl-cmake
${CMAKE_CURRENT_BINARY_DIR}/openssl-cmake
EXCLUDE_FROM_ALL
)
set(OPENSSL_SSL_LIBRARY ssl)
set(OPENSSL_CRYPTO_LIBRARY crypto)
set(OPENSSL_INCLUDE_DIR "${openssl_BINARY_DIR}/include" "${openssl_BINARY_DIR}")
set(OPENSSL_FOUND ON)
set(OPENSSL_BUILD_SHARED_LIBS ON)
message(STATUS "Build OpenSSL: ${openssl_BINARY_DIR}")
endif()

set (HAVE_OPENSSL 1)
include_directories (${OPENSSL_INCLUDE_DIR})

#add_subdirectory(openssl-cmake)
#find_package(openssl REQUIRED)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Network)
#include_directories(openssl-cmake/include)

#message(${OPENSSL_ROOT_DIR})
add_library(QCloudMusicApi SHARED
./util/crypto.h
./util/config.h
Expand All @@ -21,12 +43,12 @@ add_library(QCloudMusicApi SHARED
request.hpp
)

target_link_libraries(QCloudMusicApi Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network OpenSSL::SSL OpenSSL::Crypto)
target_link_libraries(QCloudMusicApi Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})

target_compile_definitions(QCloudMusicApi PRIVATE QCLOUDMUSICAPI_LIBRARY)

set(PUBLIC_HEADERS
module.h
)
install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_HEADER_OUTPUT_DIRECTORY})
install(DIRECTORY ${OPENSSL_INCLUDE_DIR}/../bin DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../)
#install(DIRECTORY ${OPENSSL_INCLUDE_DIR}/../bin DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../)
1 change: 1 addition & 0 deletions QCloudMusicApi/GmSSL
Submodule GmSSL added at 8974e0
1 change: 1 addition & 0 deletions QCloudMusicApi/openssl-cmake
Submodule openssl-cmake added at da217f
9 changes: 0 additions & 9 deletions conanfile.txt

This file was deleted.

0 comments on commit f665b40

Please sign in to comment.