aboutsummaryrefslogtreecommitdiff
path: root/primedev/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'primedev/cmake')
-rw-r--r--primedev/cmake/Findlibcurl.cmake18
-rw-r--r--primedev/cmake/Findminhook.cmake7
-rw-r--r--primedev/cmake/Findminizip.cmake16
-rw-r--r--primedev/cmake/Findspdlog.cmake7
-rw-r--r--primedev/cmake/utils.cmake25
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()