diff --git a/CMakeLists.txt b/CMakeLists.txt index 23f5437..144585f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,11 @@ set(CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -DDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -march=native -DNDEBUG") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-O1,--sort-common,--as-needed,-z,relro") +if(UNIX) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-O1,--sort-common,--as-needed,-z,relro") +elseif(WIN32 OR APPLE) + #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-O1,--sort-common,--as-needed") +endif() if(CMAKE_GENERATOR STREQUAL "Ninja") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") @@ -72,11 +76,13 @@ elseif(WIN32) if(NOT OPENSSL_ROOT_DIR) message(FATAL_ERROR "Fail to find OpenSSL") # exit endif() - set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR/include}") - set(OPENSSL_LIB_DIR "${OPENSSL_ROOT_DIR/lib/MinGw}") - set(OPENSSL_LIBRARIES "${OPENSSL_LIB_DIR}/ssl.dll" "${OPENSSL_LIB_DIR}/crypto.dll") + set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include") + set(OPENSSL_LIBRARIES "${OPENSSL_ROOT_DIR}/lib/libssl.dll.a" "${OPENSSL_ROOT_DIR}/lib/libcrypto.dll.a" ) + file(GLOB DLL ${OPENSSL_ROOT_DIR}/*.dll) + file(COPY ${DLL} DESTINATION ${CMAKE_BINARY_DIR}) endif() -message(STATUS "OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}/include") +message(STATUS "OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}") +message(STATUS "OpenSSL Libraries : ${OPENSSL_LIBRARIES}") include_directories(${OPENSSL_INCLUDE_DIR}) @@ -87,15 +93,17 @@ if(UNIX OR APPLE) message(FATAL_ERROR "Fail to find cURL library") # exit endif() elseif(WIN32) - if(NOT CURL_ROOT_DIR) + if(NOT CURL_ROOT_DIR) message(FATAL_ERROR "Fail to find cURL library") # exit endif() - ## TODO - ## CURLのアレをセットする - ## set(CURL_INCLUDE_DIRS "${CURL_ROOT_DIR}/include") - ## set(CURL_LIBRARIES "${CURL_ROOT_DIR}/lib") # 実際にはglobしなければいけない + add_definitions(-DCURL_STATICLIB) + set(CURL_INCLUDE_DIRS "${CURL_ROOT_DIR}/include") + set(CURL_LIBRARIES "${CURL_ROOT_DIR}/lib/libcurl.dll.a") + file(GLOB DLL ${CURL_ROOT_DIR}/bin/*.dll) + file(COPY ${DLL} DESTINATION ${CMAKE_BINARY_DIR}) endif() message(STATUS "CURL_INCLUDE_DIR: ${CURL_INCLUDE_DIRS}") +message(STATUS "CURL_LIBRARIES: ${CURL_LIBRARIES}") include_directories(${CURL_INCLUDE_DIRS})