8

を使用して.bundleファイルに実行可能ファイルを生成したい。私のCMakeLists.txtファイルは次のようになります。Mac OSX 10.6.8CMake

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)

それから私はCMakeを呼び出します:

CMake -G"Xcode" .

ただし、このプログラムをでコンパイルすると、ファイルではなくファイルXcode 3.2.1が常に取得されます。TEST.appTEST.bundle

私はここで何が間違っているのですか?

4

2 に答える 2

9

これに遭遇し、ライブラリ.bundleを構築しようとしている人にとって、これはCMake3.0で私のために機能しました:

add_library(Foo MODULE ${SOURCES} ${HEADERS})
set_target_properties(Foo PROPERTIES BUNDLE TRUE)

MODULE重要なのは、ではなくを使用することSHAREDです。何らかの理由で、CMakeはそれ以外の場合はBUNDLEプロパティを無視します。

于 2017-08-01T23:16:52.627 に答える
7

BUNDLE_EXTENSIONターゲットプロパティを使用して、デフォルトとは異なる拡張子を取得します。http://www.cmake.org/cmake/help/v2.8.10/cmake.html#prop_tgt:BUNDLE_EXTENSION

また、.appは実行可能ターゲットのデフォルトにすぎないと思います。ライブラリまたはモジュールターゲットの場合、.bundleをデフォルト値にする必要があります。

ライブラリターゲットで試しましたか?

于 2013-03-07T16:57:26.700 に答える