lgy514

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CMAKE_MINIMUM_REQUIRED (VERSION 3.10)
project(myclienttest)

IF (${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
SET (CMAKE_CXX_FLAGS "-std=c++11 -Wl,-rpath,./ ${CMAKE_CXX_FLAGS}")
ELSEIF (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
ELSEIF (MSVC)
SET (CMAKE_CXX_FLAGS "-D_SCL_SECURE_NO_WARNINGS ${CMAKE_CXX_FLAGS}")
SET (CMAKE_CXX_FLAGS "-D_CRT_SECURE_NO_WARNINGS ${CMAKE_CXX_FLAGS}")
SET (CMAKE_CXX_FLAGS "-D_WIN32_WINNT=0x0600 ${CMAKE_CXX_FLAGS}")
ENDIF ()
IF (MSVC)
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
ELSE ()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
ENDIF ()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4146 /wd4244")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MT")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:2048000,4096")
#message(STATUS ${CMAKE_CXX_FLAGS_RELEASE})
#message(STATUS ${CMAKE_CXX_FLAGS_DEBUG})
ELSE ()
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DNDEBUG")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -O0")
ENDIF ()


include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/utils
${CMAKE_CURRENT_SOURCE_DIR}/hftbt/include
${CMAKE_CURRENT_SOURCE_DIR}
)
#lib path
if(CMAKE_CL_64)
set(LIB_PATH
${CMAKE_CURRENT_SOURCE_DIR}/lib64/vs14/
${CMAKE_CURRENT_SOURCE_DIR}/libsqlite/Release64/
)
file(GLOB dll_FILE "lib64/*.dll" )
else()
set(LIB_PATH
${CMAKE_CURRENT_SOURCE_DIR}/lib/vs14/
${CMAKE_CURRENT_SOURCE_DIR}/lib/vs14/debug/
${CMAKE_CURRENT_SOURCE_DIR}/libsqlite/Release/
)
file(GLOB dll_FILE "lib/*.dll" )
endif()

file(COPY ${dll_FILE}
DESTINATION
${CMAKE_CURRENT_BINARY_DIR}/Debug
)
file(COPY ${dll_FILE}
DESTINATION
${CMAKE_CURRENT_BINARY_DIR}/Release
)

#lib basename
set(LIBNAMES libcrypto libssl mysqlcppconn8 sqlite3)
FOREACH(v ${LIBNAMES})
find_library(LIB_${v} ${v} HINTS ${LIB_PATH})
LIST(APPEND LIBS ${LIB_${v}})
ENDFOREACH(v)

#ADD_SUBDIRECTORY (src)
file(GLOB SRC_FILE
"*.cpp"
#"src/*.cc"
"utils/*.cc"
)

add_executable(myclienttest ${SRC_FILE})

target_link_libraries( # 目标库
myclienttest
${LIBS}
)

 

posted on 2020-06-29 15:17  lgy514  阅读(271)  评论(0编辑  收藏  举报