summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-09-08 15:36:46 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2010-09-08 15:36:46 (GMT)
commitf444b9555f87ec187bff51d48cd29c22ab4a6121 (patch)
tree7c7722e4566970bdd76f361756b1ab7aab855d35
parent661d5166b06c30a7a490d28a8476989200744b87 (diff)
parent7944e4e0ac37cb1423da2de7a203557b77372aac (diff)
downloadCMake-f444b9555f87ec187bff51d48cd29c22ab4a6121.zip
CMake-f444b9555f87ec187bff51d48cd29c22ab4a6121.tar.gz
CMake-f444b9555f87ec187bff51d48cd29c22ab4a6121.tar.bz2
Merge topic 'allow_upper_case_cpp_and_others'
7944e4e Allow testing of .CPP on WIN32 as it is a case insensitive OS and should work. ba0a890 Only test for .CPP on Microsoft compilers which will handle .CPP as c++. d26cd46 Only use .CPP .CXX and .C++ do not work by default with g+++. ced61f5 Let CMake recognize .CPP .CXX and .C++ as c++ files.
-rw-r--r--Modules/CMakeCXXCompiler.cmake.in4
-rw-r--r--Tests/CxxOnly/CMakeLists.txt5
-rw-r--r--Tests/CxxOnly/cxxonly.cxx6
-rw-r--r--Tests/CxxOnly/test.CPP1
4 files changed, 13 insertions, 3 deletions
diff --git a/Modules/CMakeCXXCompiler.cmake.in b/Modules/CMakeCXXCompiler.cmake.in
index b264da1..d7ae8d9 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -21,8 +21,8 @@ IF(CMAKE_COMPILER_IS_MINGW)
SET(MINGW 1)
ENDIF(CMAKE_COMPILER_IS_MINGW)
SET(CMAKE_CXX_COMPILER_ID_RUN 1)
-SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm)
+SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
SET(CMAKE_CXX_LINKER_PREFERENCE 30)
SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
diff --git a/Tests/CxxOnly/CMakeLists.txt b/Tests/CxxOnly/CMakeLists.txt
index bfc8271..d621499 100644
--- a/Tests/CxxOnly/CMakeLists.txt
+++ b/Tests/CxxOnly/CMakeLists.txt
@@ -2,7 +2,10 @@
project (CxxOnly CXX)
set(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
-add_library(testcxx1 STATIC libcxx1.cxx)
+if(WIN32)
+ set(EXTRA_SRCS test.CPP)
+endif()
+add_library(testcxx1 STATIC libcxx1.cxx ${EXTRA_SRCS})
add_library(testcxx2 SHARED libcxx2.cxx)
add_executable (CxxOnly cxxonly.cxx)
target_link_libraries(CxxOnly testcxx1 testcxx2)
diff --git a/Tests/CxxOnly/cxxonly.cxx b/Tests/CxxOnly/cxxonly.cxx
index 99ccf3b..9cf6f2d 100644
--- a/Tests/CxxOnly/cxxonly.cxx
+++ b/Tests/CxxOnly/cxxonly.cxx
@@ -1,10 +1,16 @@
#include "libcxx1.h"
#include "libcxx2.h"
+#ifdef _MSC_VER
+extern int testCPP;
+#endif
#include <stdio.h>
int main ()
{
+#ifdef _MSC_VER
+ testCPP = 1;
+#endif
if ( LibCxx1Class::Method() != 2.0 )
{
printf("Problem with libcxx1\n");
diff --git a/Tests/CxxOnly/test.CPP b/Tests/CxxOnly/test.CPP
new file mode 100644
index 0000000..8a3cde2
--- /dev/null
+++ b/Tests/CxxOnly/test.CPP
@@ -0,0 +1 @@
+int testCPP;