manage CMakeLists.txt(#59)

This commit is contained in:
keita
2021-03-03 03:02:23 +09:00
parent 9467118c26
commit 0a830e53f3
+18 -10
View File
@@ -22,7 +22,11 @@ set(CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") 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_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -DDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -march=native -DNDEBUG") 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_GENERATOR STREQUAL "Ninja")
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -72,11 +76,13 @@ elseif(WIN32)
if(NOT OPENSSL_ROOT_DIR) if(NOT OPENSSL_ROOT_DIR)
message(FATAL_ERROR "Fail to find OpenSSL") # exit message(FATAL_ERROR "Fail to find OpenSSL") # exit
endif() endif()
set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR/include}") set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include")
set(OPENSSL_LIB_DIR "${OPENSSL_ROOT_DIR/lib/MinGw}") set(OPENSSL_LIBRARIES "${OPENSSL_ROOT_DIR}/lib/libssl.dll.a" "${OPENSSL_ROOT_DIR}/lib/libcrypto.dll.a" )
set(OPENSSL_LIBRARIES "${OPENSSL_LIB_DIR}/ssl.dll" "${OPENSSL_LIB_DIR}/crypto.dll") file(GLOB DLL ${OPENSSL_ROOT_DIR}/*.dll)
file(COPY ${DLL} DESTINATION ${CMAKE_BINARY_DIR})
endif() 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}) include_directories(${OPENSSL_INCLUDE_DIR})
@@ -87,15 +93,17 @@ if(UNIX OR APPLE)
message(FATAL_ERROR "Fail to find cURL library") # exit message(FATAL_ERROR "Fail to find cURL library") # exit
endif() endif()
elseif(WIN32) elseif(WIN32)
if(NOT CURL_ROOT_DIR) if(NOT CURL_ROOT_DIR)
message(FATAL_ERROR "Fail to find cURL library") # exit message(FATAL_ERROR "Fail to find cURL library") # exit
endif() endif()
## TODO add_definitions(-DCURL_STATICLIB)
## CURLのアレをセットする set(CURL_INCLUDE_DIRS "${CURL_ROOT_DIR}/include")
## set(CURL_INCLUDE_DIRS "${CURL_ROOT_DIR}/include") set(CURL_LIBRARIES "${CURL_ROOT_DIR}/lib/libcurl.dll.a")
## set(CURL_LIBRARIES "${CURL_ROOT_DIR}/lib") # 実際にはglobしなければいけない file(GLOB DLL ${CURL_ROOT_DIR}/bin/*.dll)
file(COPY ${DLL} DESTINATION ${CMAKE_BINARY_DIR})
endif() endif()
message(STATUS "CURL_INCLUDE_DIR: ${CURL_INCLUDE_DIRS}") message(STATUS "CURL_INCLUDE_DIR: ${CURL_INCLUDE_DIRS}")
message(STATUS "CURL_LIBRARIES: ${CURL_LIBRARIES}")
include_directories(${CURL_INCLUDE_DIRS}) include_directories(${CURL_INCLUDE_DIRS})