# 判断当前的操作系统 if (CMAKE_SYSTEM_NAME MATCHES "Linux") target_link_libraries(my-logger PUBLIC fmt-header-only pthread) message(STATUS "Now is Linux") elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") target_link_libraries(my-logger PUBLIC fmt-header-only ws2_32) message(STATUS "Now is ...
c++标准每天都在进化,以至于老旧的c++和新的c++可能是不同的语言。为了不至于被历史的车轮抛弃太远,这里简单介绍一下,用CMake编译C++17文件的写法: if ( CMAKE_SYSTEM_NAME MATCHES "Windows" ) set( …
message(STATUS “This operating system is Windows.”) elseif(UNIX) message(STATUS “This operating system is Linux.”) elseif(APPLE) message(STATUS “This operating system is APPLE.”) endif(WIN32) 1. 2. 3. 4. 5. 6. 7. 操作系统判断方式二: if (CMAKE_SYSTEM_NAME MATCHES "Linux") ...
if (CMAKE_SYSTEM_NAME MATCHES "Linux") message(STATUS "current platform: Linux ") elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") message(STATUS "current platform: Windows") elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") message(STATUS "current platform: FreeBSD") else () message(STATUS "oth...
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows") MESSAGE(STATUS "current platform: Windows") ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") MESSAGE(STATUS "current platform: FreeBSD") ELSE () MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}") ...
cmake_minimum_required (VERSION 3.13.0)project (property_test VERSION 0.0.4)# 设置全局属性 SOURCE_LISTset_property( GLOBAL APPEND PROPERTY SOURCE_LIST)# 如果是 Linux 系统,选择编译 linux 目录IF (CMAKE_SYSTEM_NAME MATCHES "Linux")include_directories (linux)add_subdirectory (linux)# Window 系统下...
(CMAKE_SYSTEM_NAMEMATCHES"Windows")# Windows 操作系统,需要查找 Windows-releaseMESSAGE(STATUS"current platform: Windows")LINK_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/fltk-dist-1.3.8/lib/Windows-release")ADD_EXECUTABLE(${my_app_name}WIN32# Windows 非命令行程序${all_head_files}${all_source_...
一般来说,Find<PackageName>.cmake文件不是随包本身一起提供的,更多的是外部针对已有包的重新包装,例如操作系统、Cmake程序、甚至是调用find_package命令的工程针对已有的包提供针对该包的.cmake文件。 1.2 配置模式(Config mode) 该模式下,CMake会搜索<lowercasePackageName>-config.cmake文件或<PackageName...
CMAKE_BINARY_DIR 、PROJECT_BINARY_DIR、<projectname>_BINARY_DIR: 工程编译发生的目录 CMAKE_SOURCE_DIR、PROJECT_SOURCE_DIR、<projectname>_BINARY_DIR: 工程顶层目录 CMAKE_C_COMPILER:指定 C 编译器 CMAKE_CXX_COMPILER:指定 C++ 编译器 EXECUTABLE_OUTPUT_PATH:可执行文件输出的存放路径 LIBRARY_OUTPUT_PA...
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) # 可能需要设置交叉编译环境的根目录 set(CMAKE_FIND_ROOT_PATH /path/to/target/root) 这段配置就像是一座桥梁,连接了编译环境和目标平台。其中,CMAKE_C_COMPILER和CMAKE_CXX_COMPILER指定了交叉编译器的路径,而CMAKE_SYSTEM_NAME和CMAKE_SYSTE...