我想.bundle
在Mac OSX 10.6.8
使用时在文件中生成可执行文件CMake
.我的CMakeLists.txt文件如下所示:
cmake_minimum_required(VERSION 2.8)
PROJECT(TESTProject)
SET(MACOSX_BUNDLE_BUNDLE_NAME TEST)
ADD_EXECUTABLE(TEST MACOSX_BUNDLE main.cpp)
SET_TARGET_PROPERTIES(TEST PROPERTIES MACOSX_BUNDLE TRUE)
Run Code Online (Sandbox Code Playgroud)
然后我打电话给CMake:
CMake -G"Xcode" .
Run Code Online (Sandbox Code Playgroud)
但是,当我编译这个程序时Xcode 3.2.1
,我经常得到一个TEST.app
文件而不是TEST.bundle
文件.
我在这做错了什么?
使用BUNDLE_EXTENSION目标属性获取与默认值不同的扩展名.http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:BUNDLE_EXTENSION
另外,我认为.app只是可执行目标的默认值.对于库或模块目标,.bundle应该是默认值.
你尝试过图书馆目标吗?
小智 7
对于遇到此问题并尝试构建库.bundle的任何人,这对我来说都适用于CMake 3.0:
add_library(Foo MODULE ${SOURCES} ${HEADERS})
set_target_properties(Foo PROPERTIES BUNDLE TRUE)
Run Code Online (Sandbox Code Playgroud)
关键是用MODULE
不SHARED
。由于某些原因,CMake会忽略该BUNDLE
属性。
归档时间: |
|
查看次数: |
6909 次 |
最近记录: |