0
点赞
收藏
分享

微信扫一扫

vcpkg+windows+cmake+环境变量

伽马星系 2022-03-30 阅读 51
c++

使用vcpkg+cmake的时候需要添加参数:

-DCMAKE_TOOLCHAIN_FILE=C:/work/code/vcpkg/scripts/buildsystems/vcpkg.cmake

命令行:

cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=C:/work/code/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build

CMake GUI

添加环境变量:

echo %vcpkg_dir%
C:/work/code/vcpkg/

CMakeLists.txt

cmake_minimum_required(VERSION 3.1...3.22)
add_definitions(-D_USE_MATH_DEFINES)
if (POLICY CMP0020)
    cmake_policy(SET CMP0020 NEW)
    cmake_policy(SET CMP0071 NEW)
endif ()

message(STATUS "VCPKG_DIR: $ENV{VCPKG_DIR}")
if(DEFINED ENV{VCPKG_DIR} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
	set(CMAKE_TOOLCHAIN_FILE $ENV{VCPKG_DIR}/scripts/buildsystems/vcpkg.cmake CACHE STRING "")
endif()
message(STATUS "CMAKE_TOOLCHAIN_FILE: ${CMAKE_TOOLCHAIN_FILE}")
#include(c:/work/code/vcpkg/scripts/buildsystems/vcpkg.cmake)

PROJECT(Test)
set(CMAKE_CXX_STANDARD 17)

find_package(VTK REQUIRED)
find_package(CGAL REQUIRED)
#find_package(Boost REQUIRED)
#find_package(openmesh QUIET)


set(VTK_QT_VERSION 5)
set(qt_components Core Gui Widgets)

list(SORT qt_components)

find_package(Qt${VTK_QT_VERSION} QUIET REQUIRED COMPONENTS ${qt_components})

foreach (_qt_comp IN LISTS qt_components)
    list(APPEND qt_modules "Qt${VTK_QT_VERSION}::${_qt_comp}")
endforeach ()

message(STATUS "VTK_VERSION: ${VTK_VERSION}, Qt Version: ${Qt${VTK_QT_VERSION}Widgets_VERSION}")

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)

link_directories(lib)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} include)

file(GLOB UI_FILES src/*.ui)
file(GLOB QT_WRAP src/*.h)
file(GLOB CXX_FILES src/*.cxx)

set(CMAKE_NINJA_FORCE_RESPONSE_FILE "ON" CACHE BOOL "Force Ninja to use response files.")
add_executable(Test MACOSX_BUNDLE ${CXX_FILES} ${UISrcs} ${QT_WRAP} Test.cpp)
target_include_directories(Test PRIVATE ${OPENMESH_INCLUDE_DIRS})
target_link_libraries(Test ${qt_modules} ${VTK_LIBRARIES} ${OPENMESH_LIBRARIES} CGAL::CGAL Driver)
vtk_module_autoinit(TARGETS Test MODULES ${VTK_LIBRARIES})

举报

相关推荐

0 条评论