diff options
-rw-r--r-- | Help/policy/CMP0024.rst | 2 | ||||
-rw-r--r-- | Modules/Compiler/Intel-C.cmake | 4 | ||||
-rw-r--r-- | Modules/Compiler/Intel-CXX.cmake | 4 | ||||
-rw-r--r-- | Modules/Platform/Darwin-icc.cmake | 6 | ||||
-rw-r--r-- | Modules/Platform/Linux-Intel.cmake | 4 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmAddLibraryCommand.cxx | 7 | ||||
-rw-r--r-- | Tests/RunCMake/CheckModules/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CheckModules/CheckStructHasMemberOk.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CheckModules/CheckTypeSizeOk.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/global-interface-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/global-interface-stderr.txt | 9 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/global-interface.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/invalid_signature-stderr.txt | 2 | ||||
-rw-r--r-- | Tests/RunCMake/interface_library/invalid_signature.cmake | 2 |
16 files changed, 39 insertions, 13 deletions
diff --git a/Help/policy/CMP0024.rst b/Help/policy/CMP0024.rst index abfcc75..42b7b9f 100644 --- a/Help/policy/CMP0024.rst +++ b/Help/policy/CMP0024.rst @@ -14,7 +14,7 @@ targets instead in cases where the goal is to refer to targets by another name. The OLD behavior for this policy is to allow including the result of -an export() command. The NEW behavior for this policy is to not to +an export() command. The NEW behavior for this policy is not to allow including the result of an export() command. This policy was introduced in CMake version 3.0.0. CMake version diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake index 7d98f03..1d651e3 100644 --- a/Modules/Compiler/Intel-C.cmake +++ b/Modules/Compiler/Intel-C.cmake @@ -8,9 +8,5 @@ set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG") set(CMAKE_DEPFILE_FLAGS_C "-MMD -MT <OBJECT> -MF <DEPFILE>") -if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0) - set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") -endif() - set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>") set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>") diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake index 36a838d..020e862 100644 --- a/Modules/Compiler/Intel-CXX.cmake +++ b/Modules/Compiler/Intel-CXX.cmake @@ -8,9 +8,5 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG") set(CMAKE_DEPFILE_FLAGS_CXX "-MMD -MT <OBJECT> -MF <DEPFILE>") -if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0) - set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") -endif() - set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>") set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>") diff --git a/Modules/Platform/Darwin-icc.cmake b/Modules/Platform/Darwin-icc.cmake index 0fab9a1..c7e31c0 100644 --- a/Modules/Platform/Darwin-icc.cmake +++ b/Modules/Platform/Darwin-icc.cmake @@ -75,6 +75,12 @@ if(XCODE) set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX) endif() +if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0) + set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") + set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") +endif() + + set(CMAKE_MacOSX_Content_COMPILE_OBJECT "\"${CMAKE_COMMAND}\" -E copy_if_different <SOURCE> <OBJECT>") set(CMAKE_C_CREATE_SHARED_LIBRARY diff --git a/Modules/Platform/Linux-Intel.cmake b/Modules/Platform/Linux-Intel.cmake index 2394f10..20fddb4 100644 --- a/Modules/Platform/Linux-Intel.cmake +++ b/Modules/Platform/Linux-Intel.cmake @@ -47,4 +47,8 @@ macro(__linux_compiler_intel lang) "${XIAR} cr <TARGET> <LINK_FLAGS> <OBJECTS> " "${XIAR} -s <TARGET> ") endif() + + if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0) + set(CMAKE_${lang}_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") + endif() endmacro() diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 6e8329a..b1e903a 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -2,5 +2,5 @@ set(CMake_VERSION_MAJOR 2) set(CMake_VERSION_MINOR 8) set(CMake_VERSION_PATCH 12) -set(CMake_VERSION_TWEAK 20140208) +set(CMake_VERSION_TWEAK 20140210) #set(CMake_VERSION_RC 1) diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx index a29f784..009b1ca 100644 --- a/Source/cmAddLibraryCommand.cxx +++ b/Source/cmAddLibraryCommand.cxx @@ -173,6 +173,13 @@ bool cmAddLibraryCommand ++s; importGlobal = true; } + else if(type == cmTarget::INTERFACE_LIBRARY && *s == "GLOBAL") + { + cmOStringStream e; + e << "GLOBAL option may only be used with IMPORTED libraries."; + this->SetError(e.str().c_str()); + return false; + } else { break; diff --git a/Tests/RunCMake/CheckModules/CMakeLists.txt b/Tests/RunCMake/CheckModules/CMakeLists.txt index 65ac8e8..72abfc8 100644 --- a/Tests/RunCMake/CheckModules/CMakeLists.txt +++ b/Tests/RunCMake/CheckModules/CMakeLists.txt @@ -1,3 +1,3 @@ cmake_minimum_required(VERSION 2.8.11) -project(${RunCMake_TEST}) +project(${RunCMake_TEST} NONE) include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/CheckModules/CheckStructHasMemberOk.cmake b/Tests/RunCMake/CheckModules/CheckStructHasMemberOk.cmake index b319e18..4c064c5 100644 --- a/Tests/RunCMake/CheckModules/CheckStructHasMemberOk.cmake +++ b/Tests/RunCMake/CheckModules/CheckStructHasMemberOk.cmake @@ -1,3 +1,5 @@ +enable_language(C) +enable_language(CXX) include(CheckStructHasMember) check_struct_has_member("struct timeval" tv_sec sys/select.h HAVE_TIMEVAL_TV_SEC) check_struct_has_member("struct timeval" tv_sec sys/select.h HAVE_TIMEVAL_TV_SEC_C LANGUAGE C) diff --git a/Tests/RunCMake/CheckModules/CheckTypeSizeOk.cmake b/Tests/RunCMake/CheckModules/CheckTypeSizeOk.cmake index 558f07e..45a4978 100644 --- a/Tests/RunCMake/CheckModules/CheckTypeSizeOk.cmake +++ b/Tests/RunCMake/CheckModules/CheckTypeSizeOk.cmake @@ -1,3 +1,5 @@ +enable_language(C) +enable_language(CXX) include(CheckTypeSize) check_type_size(int SIZEOF_INT) check_type_size(int SIZEOF_INT BUILTIN_TYPES_ONLY) diff --git a/Tests/RunCMake/interface_library/RunCMakeTest.cmake b/Tests/RunCMake/interface_library/RunCMakeTest.cmake index 9ca9a77..3c457c5 100644 --- a/Tests/RunCMake/interface_library/RunCMakeTest.cmake +++ b/Tests/RunCMake/interface_library/RunCMakeTest.cmake @@ -5,5 +5,6 @@ run_cmake(target_commands) run_cmake(no_shared_libs) run_cmake(whitelist) run_cmake(invalid_signature) +run_cmake(global-interface) run_cmake(genex_link) run_cmake(add_dependencies) diff --git a/Tests/RunCMake/interface_library/global-interface-result.txt b/Tests/RunCMake/interface_library/global-interface-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/interface_library/global-interface-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/interface_library/global-interface-stderr.txt b/Tests/RunCMake/interface_library/global-interface-stderr.txt new file mode 100644 index 0000000..24edd0f --- /dev/null +++ b/Tests/RunCMake/interface_library/global-interface-stderr.txt @@ -0,0 +1,9 @@ +CMake Error at global-interface.cmake:2 \(add_library\): + Cannot find source file: + + GLOBAL + + Tried extensions \.c \.C \.c\+\+ \.cc \.cpp \.cxx \.m \.M \.mm \.h \.hh \.h\+\+ \.hm \.hpp + \.hxx \.in \.txx +Call Stack \(most recent call first\): + CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/interface_library/global-interface.cmake b/Tests/RunCMake/interface_library/global-interface.cmake new file mode 100644 index 0000000..d2bfc64 --- /dev/null +++ b/Tests/RunCMake/interface_library/global-interface.cmake @@ -0,0 +1,2 @@ + +add_library(iface GLOBAL INTERFACE) diff --git a/Tests/RunCMake/interface_library/invalid_signature-stderr.txt b/Tests/RunCMake/interface_library/invalid_signature-stderr.txt index 701586a..6374b33 100644 --- a/Tests/RunCMake/interface_library/invalid_signature-stderr.txt +++ b/Tests/RunCMake/interface_library/invalid_signature-stderr.txt @@ -84,6 +84,6 @@ Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) + CMake Error at invalid_signature.cmake:20 \(add_library\): - add_library INTERFACE library requires no source arguments. + add_library GLOBAL option may only be used with IMPORTED libraries. Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/interface_library/invalid_signature.cmake b/Tests/RunCMake/interface_library/invalid_signature.cmake index 67e3267..4e53534 100644 --- a/Tests/RunCMake/interface_library/invalid_signature.cmake +++ b/Tests/RunCMake/interface_library/invalid_signature.cmake @@ -16,5 +16,5 @@ add_library(iface15 ALIAS INTERFACE) add_library(iface16 INTERFACE INTERFACE) add_library(iface17 INTERFACE EXCLUDE_FROM_ALL) add_library(iface18 EXCLUDE_FROM_ALL INTERFACE) -add_library(iface19 GLOBAL INTERFACE) +# add_library(iface19 GLOBAL INTERFACE) Tested separately add_library(iface20 INTERFACE GLOBAL) |