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})
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐