[Cmake-commits] CMake branch, next, updated. v2.8.5-1616-g940f2ee
Stephen Kelly
steveire at gmail.com
Tue Aug 16 20:37:39 EDT 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 940f2eed910256414c5e5f047a6d4da30acb6440 (commit)
via afae7a95a06bf1cbec47b3b4471e5f11a41065cb (commit)
from d7a3890af969b23f58530e326506c008971639d8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=940f2eed910256414c5e5f047a6d4da30acb6440
commit 940f2eed910256414c5e5f047a6d4da30acb6440
Merge: d7a3890 afae7a9
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Aug 16 20:37:36 2011 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Aug 16 20:37:36 2011 -0400
Merge topic 'generate_export_header' into next
afae7a9 Start testing expected values for compiler flags.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=afae7a95a06bf1cbec47b3b4471e5f11a41065cb
commit afae7a95a06bf1cbec47b3b4471e5f11a41065cb
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Aug 17 02:34:23 2011 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Aug 17 02:36:22 2011 +0200
Start testing expected values for compiler flags.
Should help catch unhandled flag warnings so far not handled by
check_cxx_compiler_flag FAIL_REGEXen.
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index eececb0..aad908c 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -223,6 +223,8 @@ IF(BUILD_TESTING)
ADD_TEST_MACRO(Module.GenerateExportHeader GenerateExportHeader)
+ ADD_TEST_MACRO(Module.CheckCXXCompilerFlag CheckCXXCompilerFlag)
+
ADD_TEST(LinkFlags-prepare
${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE}
--build-and-test
diff --git a/Tests/Module/CheckCXXCompilerFlag/CMakeLists.txt b/Tests/Module/CheckCXXCompilerFlag/CMakeLists.txt
new file mode 100644
index 0000000..70bafb6
--- /dev/null
+++ b/Tests/Module/CheckCXXCompilerFlag/CMakeLists.txt
@@ -0,0 +1,63 @@
+cmake_minimum_required(VERSION 2.8)
+project(CheckCXXCompilerFlag)
+
+macro(TEST_FAIL value msg)
+ if (${value})
+ message (SEND_ERROR "Test fail:" ${msg} ${Out} )
+ endif ()
+endmacro()
+
+macro(TEST_PASS value msg)
+ if (NOT ${value})
+ message (SEND_ERROR "Test fail:" ${msg} ${Out} )
+ endif ()
+endmacro()
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
+ string (REGEX MATCH "[345]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
+ # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+ # patch level, handle this here:
+ if(NOT _gcc_version)
+ string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}")
+ endif()
+endif()
+
+if(CMAKE_COMPILER_ID MATCHES Clang)
+ exec_program(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE _clang_version_info)
+ string (REGEX MATCH "version [345]\\.[0-9]" _clang_version "${_clang_version_info}")
+endif()
+
+message("Platform:\n WIN32: ${WIN32}\n UNIX: ${UNIX}\n APPLE: ${APPLE}\n MINGW: ${MINGW}\n CYGWIN: ${CYGWIN}\n"
+ " MSVC: ${MSVC}\n MSVC60: ${MSVC60}\n MSVC70: ${MSVC70}\n MSVC71: ${MSVC71}\n MSVC80: ${MSVC80}\n MSVC90: ${MSVC90}\n MSVC10: ${MSVC10}\n"
+ " GCC: ${_gcc_version}\n"
+ " Clang: ${_clang_version}\n"
+)
+
+include(CheckCXXCompilerFlag)
+
+check_cxx_compiler_flag(-fvisibility=hidden HAS_HIDDEN_VISIBILITY)
+
+message("HAS_HIDDEN_VISIBILITY: ${HAS_HIDDEN_VISIBILITY}\n\nCOMPILE OUTPUT:\n${OUTPUT}")
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ test_pass(HAS_HIDDEN_VISIBILITY "GCC should support hidden visibility, but does not.")
+else()
+ message("Unhandled Platform")
+endif()
+
+#
+# This is a no-op executable... If this test is going to fail, it fails during
+# the configure step while cmake is configuring this CMakeLists.txt file...
+#
+
+file(WRITE
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cxx"
+ "int main() { return 0; }
+"
+)
+
+add_executable(
+ CheckCXXCompilerFlag
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cxx"
+)
-----------------------------------------------------------------------
Summary of changes:
Tests/CMakeLists.txt | 2 +
Tests/Module/CheckCXXCompilerFlag/CMakeLists.txt | 63 ++++++++++++++++++++++
2 files changed, 65 insertions(+), 0 deletions(-)
create mode 100644 Tests/Module/CheckCXXCompilerFlag/CMakeLists.txt
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list