mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-24 11:32:44 +08:00
Add variable CMAKE_FRAMEWORK
This commit is contained in:
@@ -350,6 +350,7 @@ Variables that Control the Build
|
|||||||
/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT
|
/variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT
|
||||||
/variable/CMAKE_EXE_LINKER_FLAGS_INIT
|
/variable/CMAKE_EXE_LINKER_FLAGS_INIT
|
||||||
/variable/CMAKE_FOLDER
|
/variable/CMAKE_FOLDER
|
||||||
|
/variable/CMAKE_FRAMEWORK
|
||||||
/variable/CMAKE_Fortran_FORMAT
|
/variable/CMAKE_Fortran_FORMAT
|
||||||
/variable/CMAKE_Fortran_MODULE_DIRECTORY
|
/variable/CMAKE_Fortran_MODULE_DIRECTORY
|
||||||
/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE
|
/variable/CMAKE_GHS_NO_SOURCE_GROUP_FILE
|
||||||
|
|||||||
6
Help/release/dev/CMAKE_FRAMEWORK.rst
Normal file
6
Help/release/dev/CMAKE_FRAMEWORK.rst
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
CMAKE_FRAMEWORK
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* A :variable:`CMAKE_FRAMEWORK` variable was added to
|
||||||
|
initialize the :prop_tgt:`FRAMEWORK` property on all
|
||||||
|
targets.
|
||||||
7
Help/variable/CMAKE_FRAMEWORK.rst
Normal file
7
Help/variable/CMAKE_FRAMEWORK.rst
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CMAKE_FRAMEWORK
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`FRAMEWORK` of targets.
|
||||||
|
|
||||||
|
This variable is used to initialize the :prop_tgt:`FRAMEWORK` property on
|
||||||
|
all the targets. See that target property for additional information.
|
||||||
@@ -284,6 +284,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
|||||||
InitProperty("RUNTIME_OUTPUT_DIRECTORY", nullptr);
|
InitProperty("RUNTIME_OUTPUT_DIRECTORY", nullptr);
|
||||||
InitProperty("PDB_OUTPUT_DIRECTORY", nullptr);
|
InitProperty("PDB_OUTPUT_DIRECTORY", nullptr);
|
||||||
InitProperty("COMPILE_PDB_OUTPUT_DIRECTORY", nullptr);
|
InitProperty("COMPILE_PDB_OUTPUT_DIRECTORY", nullptr);
|
||||||
|
InitProperty("FRAMEWORK", nullptr);
|
||||||
InitProperty("Fortran_FORMAT", nullptr);
|
InitProperty("Fortran_FORMAT", nullptr);
|
||||||
InitProperty("Fortran_MODULE_DIRECTORY", nullptr);
|
InitProperty("Fortran_MODULE_DIRECTORY", nullptr);
|
||||||
InitProperty("Fortran_COMPILER_LAUNCHER", nullptr);
|
InitProperty("Fortran_COMPILER_LAUNCHER", nullptr);
|
||||||
|
|||||||
@@ -11,8 +11,11 @@ add_library(Framework ${FRAMEWORK_TYPE}
|
|||||||
flatresource.txt
|
flatresource.txt
|
||||||
deepresource.txt
|
deepresource.txt
|
||||||
some.txt)
|
some.txt)
|
||||||
|
if("${CMAKE_FRAMEWORK}" STREQUAL "")
|
||||||
|
set_target_properties(Framework PROPERTIES
|
||||||
|
FRAMEWORK TRUE)
|
||||||
|
endif()
|
||||||
set_target_properties(Framework PROPERTIES
|
set_target_properties(Framework PROPERTIES
|
||||||
FRAMEWORK TRUE
|
|
||||||
PUBLIC_HEADER foo.h
|
PUBLIC_HEADER foo.h
|
||||||
RESOURCE "res.txt")
|
RESOURCE "res.txt")
|
||||||
set_source_files_properties(flatresource.txt PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
set_source_files_properties(flatresource.txt PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
|||||||
@@ -20,11 +20,14 @@ framework_layout_test(iOSFrameworkLayout-build ios STATIC)
|
|||||||
framework_layout_test(OSXFrameworkLayout-build osx SHARED)
|
framework_layout_test(OSXFrameworkLayout-build osx SHARED)
|
||||||
framework_layout_test(OSXFrameworkLayout-build osx STATIC)
|
framework_layout_test(OSXFrameworkLayout-build osx STATIC)
|
||||||
|
|
||||||
function(framework_type_test Toolchain Type)
|
function(framework_type_test Toolchain Type UseProperty)
|
||||||
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${Toolchain}${Type}FrameworkType-build)
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${Toolchain}${Type}FrameworkType-build)
|
||||||
set(RunCMake_TEST_NO_CLEAN 1)
|
set(RunCMake_TEST_NO_CLEAN 1)
|
||||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/${Toolchain}.cmake")
|
set(RunCMake_TEST_OPTIONS "-DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/${Toolchain}.cmake")
|
||||||
list(APPEND RunCMake_TEST_OPTIONS "-DFRAMEWORK_TYPE=${Type}")
|
list(APPEND RunCMake_TEST_OPTIONS "-DFRAMEWORK_TYPE=${Type}")
|
||||||
|
if(NOT ${UseProperty})
|
||||||
|
list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_FRAMEWORK=YES")
|
||||||
|
endif()
|
||||||
|
|
||||||
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||||
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||||
@@ -33,7 +36,12 @@ function(framework_type_test Toolchain Type)
|
|||||||
run_cmake_command(FrameworkType${Type}-build ${CMAKE_COMMAND} --build .)
|
run_cmake_command(FrameworkType${Type}-build ${CMAKE_COMMAND} --build .)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
framework_type_test(ios SHARED)
|
framework_type_test(ios SHARED NO)
|
||||||
framework_type_test(ios STATIC)
|
framework_type_test(ios STATIC NO)
|
||||||
framework_type_test(osx SHARED)
|
framework_type_test(osx SHARED NO)
|
||||||
framework_type_test(osx STATIC)
|
framework_type_test(osx STATIC NO)
|
||||||
|
|
||||||
|
framework_type_test(ios SHARED YES)
|
||||||
|
framework_type_test(ios STATIC YES)
|
||||||
|
framework_type_test(osx SHARED YES)
|
||||||
|
framework_type_test(osx STATIC YES)
|
||||||
|
|||||||
Reference in New Issue
Block a user