diff options
Diffstat (limited to 'primedev/cmake')
-rw-r--r-- | primedev/cmake/Findlibcurl.cmake | 18 | ||||
-rw-r--r-- | primedev/cmake/Findminhook.cmake | 7 | ||||
-rw-r--r-- | primedev/cmake/Findminizip.cmake | 16 | ||||
-rw-r--r-- | primedev/cmake/Findspdlog.cmake | 7 | ||||
-rw-r--r-- | primedev/cmake/utils.cmake | 25 |
5 files changed, 73 insertions, 0 deletions
diff --git a/primedev/cmake/Findlibcurl.cmake b/primedev/cmake/Findlibcurl.cmake new file mode 100644 index 00000000..6e158b95 --- /dev/null +++ b/primedev/cmake/Findlibcurl.cmake @@ -0,0 +1,18 @@ + + +if (NOT libcurl_FOUND) + check_init_submodule(${PROJECT_SOURCE_DIR}/primedev/thirdparty/libcurl) + + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries") + set(BUILD_CURL_EXE OFF CACHE BOOL "Build curl EXE") + set(HTTP_ONLY ON CACHE BOOL "Only build HTTP and HTTPS") + set(CURL_ENABLE_SSL ON CACHE BOOL "Enable SSL support") + set(CURL_USE_OPENSSL OFF CACHE BOOL "Disable OpenSSL") + set(CURL_USE_LIBSSH2 OFF CACHE BOOL "Disable libSSH2") + set(CURL_USE_SCHANNEL ON CACHE BOOL "Enable Secure Channel") + set(CURL_CA_BUNDLE "none" CACHE STRING "Disable CA Bundle") + set(CURL_CA_PATH "none" CACHE STRING "Disable CA Path") + + add_subdirectory(${PROJECT_SOURCE_DIR}/primedev/thirdparty/libcurl libcurl) + set(libcurl_FOUND 1 PARENT_SCOPE) +endif() diff --git a/primedev/cmake/Findminhook.cmake b/primedev/cmake/Findminhook.cmake new file mode 100644 index 00000000..aaf66c92 --- /dev/null +++ b/primedev/cmake/Findminhook.cmake @@ -0,0 +1,7 @@ + +if(NOT minhook_FOUND) + check_init_submodule(${PROJECT_SOURCE_DIR}/primedev/thirdparty/minhook) + + add_subdirectory(${PROJECT_SOURCE_DIR}/primedev/thirdparty/minhook minhook) + set(minhook_FOUND 1) +endif() diff --git a/primedev/cmake/Findminizip.cmake b/primedev/cmake/Findminizip.cmake new file mode 100644 index 00000000..ab48656a --- /dev/null +++ b/primedev/cmake/Findminizip.cmake @@ -0,0 +1,16 @@ + +if(NOT minizip_FOUND) + check_init_submodule(${PROJECT_SOURCE_DIR}/primedev/thirdparty/minizip) + + set(MZ_ZLIB ON CACHE BOOL "Enable ZLIB compression, needed for DEFLATE") + set(MZ_BZIP2 OFF CACHE BOOL "Disable BZIP2 compression") + set(MZ_LZMA OFF CACHE BOOL "Disable LZMA & XZ compression") + set(MZ_PKCRYPT OFF CACHE BOOL "Disable PKWARE traditional encryption") + set(MZ_WZAES OFF CACHE BOOL "Disable WinZIP AES encryption") + set(MZ_ZSTD OFF CACHE BOOL "Disable ZSTD compression") + set(MZ_SIGNING OFF CACHE BOOL "Disable zip signing support") + + add_subdirectory(${PROJECT_SOURCE_DIR}/primedev/thirdparty/minizip minizip) + set(minizip_FOUND 1 PARENT_SCOPE) +endif() + diff --git a/primedev/cmake/Findspdlog.cmake b/primedev/cmake/Findspdlog.cmake new file mode 100644 index 00000000..81596762 --- /dev/null +++ b/primedev/cmake/Findspdlog.cmake @@ -0,0 +1,7 @@ + +if(NOT spdlog_FOUND) + check_init_submodule(${PROJECT_SOURCE_DIR}/primedev/thirdparty/spdlog) + + add_subdirectory(${PROJECT_SOURCE_DIR}/primedev/thirdparty/spdlog spdlog) + set(spdlog_FOUND 1) +endif() diff --git a/primedev/cmake/utils.cmake b/primedev/cmake/utils.cmake new file mode 100644 index 00000000..d8450551 --- /dev/null +++ b/primedev/cmake/utils.cmake @@ -0,0 +1,25 @@ + +# Check if a dependency exist before trying to init git submodules +function(check_init_submodule path) + file(GLOB DIR_CONTENT "${path}/*") + list(LENGTH DIR_CONTENT CONTENT_COUNT) + if (CONTENT_COUNT EQUAL 0) + if (NOT EXISTS "${PROJECT_SOURCE_DIR}/.git") + message(FATAL_ERROR "Failed to find third party dependency in '${path}'") + endif() + + find_package(Git QUIET) + if (NOT Git_FOUND) + message(FATAL_ERROR "Failed to find Git, third party dependency could not be setup at `${path}") + endif() + + message(STATUS "Setting up dependencies as git submodules") + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + + if(NOT GIT_SUBMOD_RESULT EQUAL "0") + message(FATAL_ERROR "Initializing Git submodules failed with ${GIT_SUBMOD_RESULT}") + endif() + endif() +endfunction() |