1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/CMakeLists.txt
Scott E. Graves 5b3bf320f6 CMake
2017-03-15 15:39:24 -05:00

35 lines
1.4 KiB
CMake

project(siadrive)
include(ExternalProject)
cmake_minimum_required(VERSION 3.3)
#Common Configuration Pre-setup
set(3RD_PARTY_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/3rd-party/ttmath-0.9.3)
set(COMMON_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include/siadrive_api)
add_definitions(-DTTMATH_NOASM)
#SiaDrive API Library
file(GLOB_RECURSE SIADRIVE_API_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/siadrive_api/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/siadrive_api/*.cxx ${CMAKE_CURRENT_SOURCE_DIR}/src/siadrive_api/*.c)
add_library(siadrive.api SHARED ${SIADRIVE_API_SOURCES})
set_target_properties(siadrive.api
PROPERTIES COMPILE_FLAGS -DSIADRIVE_EXPORT_SYMBOLS
)
if (MSVC OR MINGW)
target_link_libraries(siadrive.api Shlwapi.lib Ws2_32.lib crypt32.lib)
endif()
if (MSVC)
add_definitions(-DCURL_STATICLIB=ON -DCURL_DISABLE_LDAP=ON)
ExternalProject_Add(curl_project
URL https://github.com/curl/curl/archive/curl-7_53_1.tar.gz
PREFIX ${CMAKE_BINARY_DIR}/external/builds/curl
CMAKE_ARGS -DCURL_STATICLIB=ON -DBUILD_TESTING=OFF -DBUILD_CURL_EXE=OFF -DCURL_DISABLE_LDAP=ON -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/external/)
add_dependencies(siadrive.api curl_project)
set(3RD_PARTY_INCLUDES ${3RD_PARTY_INCLUDES} ${CMAKE_BINARY_DIR}/external/include)
target_link_libraries(siadrive.api ${CMAKE_BINARY_DIR}/external/lib/libcurl.lib)
endif()
#Common Configuration Post-setup
include_directories(${3RD_PARTY_INCLUDES} ${COMMON_INCLUDES})