cmake_minimum_required(VERSION 3.14)
set(VCPKG_ROOT "D:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake") #设置使用vcpkg的路径
set(CMAKE_TOOLCHAIN_FILE ${VCPKG_ROOT})
project(testcode)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/install/)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/install/)
file(GLOB src_list_cpp ${CMAKE_SOURCE_DIR}/src/*.cpp
${CMAKE_SOURCE_DIR}/src/*/*.cpp
${CMAKE_SOURCE_DIR}/src/*.c)
include_directories(${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/src/)
set(CMAKE_PREFIX_PATH "D:\\OpenSourceFramework\\boost_1_76_0")#由于boost单独安装的,所以这里设置使用自己安装的boost来找库和头文件
#set(BOOSTROOT "D:\\OpenSourceFramework\\boost_1_76_0")
find_package(Boost QUIET)
if(Boost_FOUND)
message(STATUS "boost include path is : ${Boost_INCLUDE_DIR}")
message(STATUS "boost libraries is : ${BOOST_LIBRARIES}")
message(STATUS "boost libraries dir is : ${Boost_LIBRARY_DIRS}")
include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIRS})
else()
message(WARNING "boost not found.")
endif()
set(CMAKE_PREFIX_PATH "D:\\vcpkg\\installed\\x64-windows")#OpenSSL通过vcpkg安装,故这里再次设置vcpkg的安装库路径
find_package(OpenSSL QUIET)
if(OPENSSL_FOUND)
message(STATUS "boost include path is : ${OPENSSL_INCLUDE_DIR}")
message(STATUS "boost libraries is : ${OPENSSL_LIBRARIES}")
message(STATUS "boost libraries dir is : ${OPENSSL_LIBRARY_DIRS}")
else()
message(WARNING "openssl not found.")
endif()
add_executable(testcode ${src_list_cpp})
set_target_properties(testcode PROPERTIES
COMPILE_FLAGS "${WARNCXXFLAGS}"
CXX_STANDARD 11
CXX_STANDARD_REQUIRED ON)
#set(LIBS ${CMAKE_SOURCE_DIR}/bin/xxx.dll)
#add_custom_command(TARGET testcode POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${LIBS} ${CMAKE_SOURCE_DIR}/install/) #将项目中库拷贝到指定路径
target_link_directories(testcode PRIVATE ${CMAKE_SOURCE_DIR}/lib/ )
#target_link_libraries(testcode ${BOOST_LIBRARIES})
CMakeLists中使用指定路径vcpkg和指定路径的三方库
最新推荐文章于 2024-04-29 15:46:14 发布