set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11 -pthread") elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charset=GBK") endif() #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charset=GBK") #include_directories(....
#set(${OpenCV_DIR} ) set(OpenCV_VERSION 4.1) set(OpenCV_LIBS lib) set(OpenCV_INCLUDE_DIRS include) set(LINK_DIR lib) INCLUDE_DIRECTORIES( include ) link_directories(${LINK_DIR}) set(PROJECT_NAME opencv_core opencv_features2d opencv_highgui opencv_objdetect # opencv_imgcodecs opencv_imgproc...
对于modern cmake:首先会根据相对路径或环境变量来寻找相应的头文件、库文件等,然后生成伪目标(IMPORTED target),配置它的 INTERFACE 属性,从而可以被其它 target 直接调用,同时也会维护例如Abc_FOUND等基本的变量; 对于早期 CMake 的配置文件,则非常简单粗暴,将所有的信息通过Abc_FOUND、Abc_INCLUDE_DIRS、Abc_LIBRAR...
${OpenCV_VERSION_PATCH} EQUAL 0) target_include_directories(demo PUBLIC ${OpenCV_INCLUDE_DIRS}) if(MSVC AND NOT CMAKE_VERSION VERSION_LESS "3.15") set_property(TARGET demo PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" ) endif() endif()...
<NAME>_INCLUDE_DIRS or <NAME>_INCLUDES #package的头文件包含目录 <NAME>_LIBRARIES or <NAME>_LIBRARIES or <NAME>_LIBS # package的库目录 然后就可以使用该库了。 设置包含目录 只有将包含目录设置了,在源文件中的include才能正确索引到头文件
mark_as_advanced(XXHASH_INCLUDE_DIRS XXHASH_LIBRARIES) 例子2 Findjsoncpp.cmake include(FindPackageHandleStandardArgs) set(jsoncpp_ROOT_DIR /xxx/x86_64/jsoncpp CACHE PATH "Folder contains jsoncpp" ) find_path(jsoncpp_INCLUDE_DIR json/json.h ...
4. set() set()应用广泛。下面是几种常见的用途: # 指定include文件目录列表 set (INC_DIRS ../include .) # 指定源文件列表: set (SRCS a.cpp b.cpp) # 指定链接库列表 set (LIBS arithm rt) # 定义头文件目录,方便其他模块使用 set (ARITHM_INCLUDE_DIR {CMAKE_SOURCE_DIR}/common/arithm/include...
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "/usr/local/share/OpenCV") find_package(OpenCV 3.2.0 REQUIRED) if(NOT OpenCV_FOUND) message(WARNING "OpenCV not found!") else() include_directories(${OpenCV_INCLUDE_DIRS}) endif() # CUDA path ...
CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; CMAKE_CURRENT_BINARY_DIR:target编译目录; 使用ADD_SURDIRECTORY指令可以更改该变量的值; SET(EXECUTABLE_OUTPUT_PATH < dir >) 指令不会对该变量有影响,但改变了最终...
set(CMAKE_CXX_STANDARD_REQUIRED ON) 由于我们希望使用 Eigen 库,因此我们需要在系统上找到其头文件: 代码语言:javascript 复制 find_package(Eigen3 3.3 REQUIRED CONFIG) 我们包含CheckCXXCompilerFlag.cmake标准模块文件: 代码语言:javascript 复制 include(CheckCXXCompilerFlag) ...