Objective-C: Do not treat Objective-C files as C++ files
When both C and C++ langauges are enabled, the Objective-C files should be treated as C files and not as C++ files.
This commit is contained in:
parent
9150c818b7
commit
806e01d638
@ -45,7 +45,7 @@ set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang OBJC OBJCXX)
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
|
@ -2353,6 +2353,18 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
|
||||
)
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Objective-C/c-file-extension-test")
|
||||
|
||||
add_test(Objective-C.cxx-file-extension-test ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Objective-C/cxx-file-extension-test"
|
||||
"${CMake_BINARY_DIR}/Tests/Objective-C/cxx-file-extension-test"
|
||||
--build-two-config
|
||||
${build_generator_args}
|
||||
--build-project cxx-file-extension-test
|
||||
--build-options ${build_options}
|
||||
--test-command cxx-file-extension-test
|
||||
)
|
||||
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Objective-C/cxx-file-extension-test")
|
||||
|
||||
add_test(Objective-C.objc-file-extension-test ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/Objective-C/objc-file-extension-test"
|
||||
|
8
Tests/Objective-C/cxx-file-extension-test/CMakeLists.txt
Normal file
8
Tests/Objective-C/cxx-file-extension-test/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
project(cxx-file-extension-test)
|
||||
|
||||
string(APPEND CMAKE_CXX_FLAGS " -std=c++11")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
add_executable(cxx-file-extension-test main.m)
|
8
Tests/Objective-C/cxx-file-extension-test/main.m
Normal file
8
Tests/Objective-C/cxx-file-extension-test/main.m
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef __OBJC__
|
||||
# error "Compiler cannot compile Objective-C"
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user