我最近开始使用CMake。 这是一种非常简单的脚本语言,但是有许多技巧需要学习,而cmake网站上的教程也没什么帮助。
基本上我想为
构建我的项目依赖于操作系统和平台,我想链接某些库。
我想通过Windows可以使用WIN32或WIN64进行设置。 但我找不到mac os的等价性。 有人能指出我正确的方向吗?
答案 0 :(得分:3)
除了Tobias在他的回答中指出的“if(APPLE)”和其他变量之外,您还可以检查您正在使用哪个生成器在必要时基于每个生成器做出决策。
if(CMAKE_GENERATOR MATCHES "Xcode")
...
elseif(CMAKE_GENERATOR MATCHES "Win64")
...
endif()
在Mac上,您可以通过设置目标属性OSX_ARCHITECTURES或变量CMAKE_OSX_ARCHITECTURES:http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:OSX_ARCHITECTURES
来构建通用二进制文件或者,您可以使用两个单独的构建树构建两个单体系结构二进制文件,并在每个构建树的CMAKE_OSX_ARCHITECTURES中使用单个值。
在Windows上,您应该只有两个单独的构建树,用于32位构建,一个用于64位构建。
答案 1 :(得分:1)
if (APPLE)
....
endif(APPLE)
更多信息: http://cmake.org/Wiki/CMake_Useful_Variables#System_.26_Compiler_Information