底层CMakeLists.txt模板
cmake_minimum_required(VERSION 3.21)
project(PSM)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
set(OpenCV_DIR D:/3rd-party/OpenCV/opencv-4.7.0/build)
find_package(OpenCV REQUIRED)
if(${OPENCV_FOUND})
message(STATUS "OpenCV library status:")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include_path: ${OpenCV_INCLUDE_DIRS}")
endif()
include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/include
${OpenCV_INCLUDE_DIRS}
)
set(THRID_LIBRARIES
${OpenCV_LIBS}
)
link_directories(${PROJECT_SOURCE_DIR}/lib)
add_subdirectory(src)
测试导出库CMakeLists.txt模板
add_executable(main main.cpp)
target_link_libraries(main xxx)
add_custom_command(TARGET main POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_RUNTIME_DLLS:main> $<TARGET_FILE_DIR:main>
COMMAND_EXPAND_LISTS
)