From d2715cae493a16e9187d8e43f36fab90e3239184 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 11 Nov 2009 13:34:21 -0500 Subject: [PATCH] CMake 2.8.0-rc7 --- CMakeLists.txt | 2 +- ChangeLog.manual | 15 ++++- Modules/CMakeParseImplicitLinkInfo.cmake | 21 +++++-- Modules/CPackRPM.cmake | 13 +++- Modules/FindCUDA.cmake | 50 ++++++++++----- Modules/FindQt4.cmake | 2 +- Source/CTest/cmCTestMemCheckHandler.cxx | 2 +- Source/CTest/cmCTestMultiProcessHandler.cxx | 2 + Source/CTest/cmCTestTestHandler.cxx | 15 +++-- Source/cmGlobalXCodeGenerator.cxx | 10 +++ Source/cmStandardIncludes.h | 2 +- Source/cmStringCommand.cxx | 17 ++++- Source/cmStringCommand.h | 5 +- Source/ctest.cxx | 7 +++ Tests/CMakeLists.txt | 3 + .../CMakeTests/ImplicitLinkInfoTest.cmake.in | 63 ++++++++++++++----- Tests/CMakeTests/StringTestScript.cmake | 8 +++ Tests/CTestTestSubdir/CMakeLists.txt | 2 + Tests/CTestTestSubdir/subdir/CMakeLists.txt | 2 +- Tests/CTestTestSubdir/subdir2/CMakeLists.txt | 2 + Tests/CTestTestSubdir/subdir2/main.c | 4 ++ Tests/CTestTestSubdir/subdir3/CMakeLists.txt | 2 + Tests/CTestTestSubdir/subdir3/main.c | 4 ++ bootstrap | 4 +- 24 files changed, 204 insertions(+), 53 deletions(-) create mode 100644 Tests/CTestTestSubdir/subdir2/CMakeLists.txt create mode 100644 Tests/CTestTestSubdir/subdir2/main.c create mode 100644 Tests/CTestTestSubdir/subdir3/CMakeLists.txt create mode 100644 Tests/CTestTestSubdir/subdir3/main.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f2180dc7..7dff8551a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,7 +316,7 @@ ENDMACRO (CMAKE_BUILD_UTILITIES) SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 8) SET(CMake_VERSION_PATCH 0) -SET(CMake_VERSION_RC 6) +SET(CMake_VERSION_RC 7) # We use odd minor numbers for development versions. # Use a date for the development patch level. diff --git a/ChangeLog.manual b/ChangeLog.manual index 5ecd6958b..38829db1b 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -1,5 +1,18 @@ +Changes in CMake 2.8.0 RC 7 +- Partially sync FindQt4 with KDE version +- Improve implementation of fix for #9090 +- Fix CTest infinite loop when test executable could not be found +- Fix #9833: Document ctest --help-command +- FindCUDA: Fix -fPIC from being used on executable object files +- Fix #9654: %files section in spec file should not list directories +- Fix #9851: Better STRING(RANDOM) seeding +- Fix double bootstrap build for in source builds +- Fix CTest to use allowed value for valgrind --num-callers +- Remove non-language implicit link dependencies +- Implement LINK_FLAGS_ property on Xcode + Changes in CMake 2.8.0 RC 6 -- Sync FindQt4 with KDE version +- Partially sync FindQt4 with KDE version - Fix #9090: Teach CTest subdirs() command to handle absolute paths - Fix CTest bug that could start a test twice diff --git a/Modules/CMakeParseImplicitLinkInfo.cmake b/Modules/CMakeParseImplicitLinkInfo.cmake index b8a681f56..1761d2806 100644 --- a/Modules/CMakeParseImplicitLinkInfo.cmake +++ b/Modules/CMakeParseImplicitLinkInfo.cmake @@ -17,7 +17,7 @@ # code. function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var) - set(implicit_libs "") + set(implicit_libs_tmp "") set(implicit_dirs_tmp) set(log "") @@ -53,11 +53,11 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var) elseif("${arg}" MATCHES "^-l[^:]") # Unix library. string(REGEX REPLACE "^-l" "" lib "${arg}") - list(APPEND implicit_libs ${lib}) + list(APPEND implicit_libs_tmp ${lib}) set(log "${log} arg [${arg}] ==> lib [${lib}]\n") elseif("${arg}" MATCHES "^(.:)?[/\\].*\\.a$") # Unix library full path. - list(APPEND implicit_libs ${arg}) + list(APPEND implicit_libs_tmp ${arg}) set(log "${log} arg [${arg}] ==> lib [${arg}]\n") elseif("${arg}" MATCHES "^-Y(P,)?") # Sun search path. @@ -67,11 +67,11 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var) set(log "${log} arg [${arg}] ==> dirs [${dirs}]\n") elseif("${arg}" MATCHES "^-l:") # HP named library. - list(APPEND implicit_libs ${arg}) + list(APPEND implicit_libs_tmp ${arg}) set(log "${log} arg [${arg}] ==> lib [${arg}]\n") elseif("${arg}" MATCHES "^-z(all|default|weak)extract") # Link editor option. - list(APPEND implicit_libs ${arg}) + list(APPEND implicit_libs_tmp ${arg}) set(log "${log} arg [${arg}] ==> opt [${arg}]\n") else() set(log "${log} arg [${arg}] ==> ignore\n") @@ -90,6 +90,17 @@ function(CMAKE_PARSE_IMPLICIT_LINK_INFO text lib_var dir_var log_var) endif() endforeach() + # Cleanup list of libraries and flags. + # We remove items that are not language-specific. + set(implicit_libs "") + foreach(lib IN LISTS implicit_libs_tmp) + if("${lib}" MATCHES "^(crt.*\\.o|gcc.*|System.*)$") + set(log "${log} remove lib [${lib}]\n") + else() + list(APPEND implicit_libs "${lib}") + endif() + endforeach() + # Cleanup list of directories. set(implicit_dirs "") foreach(d IN LISTS implicit_dirs_tmp) diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index fe300588e..5167fa765 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -277,8 +277,13 @@ SET(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}") # neither escaping (as below) nor putting quotes around the path seem to help #STRING(REGEX REPLACE " " "\\\\ " CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}") SET(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}") - +# Use files tree to construct files command (spec file) +EXECUTE_PROCESS(COMMAND find -type f + COMMAND sed {s/\\.//} + WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}" + OUTPUT_VARIABLE CPACK_RPM_INSTALL_FILES) + SET(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}.spec") IF(CPACK_RPM_USER_BINARY_SPECFILE) # User may have specified SPECFILE just use it @@ -326,6 +331,8 @@ ${CPACK_RPM_PACKAGE_DESCRIPTION} # generated by CMake RPM generator # we skip the _prepn _build and _install # steps because CPack does that for us +# WE MUST NOT DO ANYTHING in those steps because they +# may fail for non-privileged user #p prep #p build @@ -338,9 +345,11 @@ ${CPACK_RPM_PACKAGE_DESCRIPTION} %defattr(-,root,root,-) #p dir %{prefix} #p {prefix}/* -/* +${CPACK_RPM_INSTALL_FILES} %changelog +* Sat Oct 03 2009 Kami + Update to handle more precisely the files section * Mon Oct 03 2008 Erk Update generator to handle optional dependencies using Requires Update DEBUG output typos. diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake index 6c512983a..7c28498d6 100644 --- a/Modules/FindCUDA.cmake +++ b/Modules/FindCUDA.cmake @@ -161,10 +161,6 @@ # cuda file to Visual Studio it knows that this file produces an object file # and will link in the resulting object file automatically. # -# This script also looks at optional arguments STATIC, SHARED, or MODULE to -# override the behavior specified by the value of the CMake variable -# BUILD_SHARED_LIBS. See BUILD_SHARED_LIBS below for more details. -# # This script will also generate a separate cmake script that is used at # build time to invoke nvcc. This is for serveral reasons. # @@ -181,13 +177,13 @@ # make the build rule dependent on the file, the output files will be # regenerated when the options change. # -# In addition, on some systems special flags are added for building objects -# intended for shared libraries. FindCUDA make use of the CMake variable -# BUILD_SHARED_LIBS and the usual STATIC, SHARED, and MODULE arguments to -# determine if these flags should be used. Please set BUILD_SHARED_LIBS or -# pass in STATIC, SHARED, or MODULE according to how the objects are to be -# used before calling CUDA_ADD_LIBRARY. A preprocessor macro, -# _EXPORTS is defined when BUILD_SHARED_LIBS is defined. +# This script also looks at optional arguments STATIC, SHARED, or MODULE to +# determine when to target the object compilation for a shared library. +# BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in +# CUDA_ADD_LIBRARY. On some systems special flags are added for building +# objects intended for shared libraries. A preprocessor macro, +# _EXPORTS is defined when a shared library compilation is +# detected. # # Flags passed into add_definitions with -D or /D are passed along to nvcc. # @@ -755,6 +751,27 @@ function(CUDA_ADD_CUDA_INCLUDE_ONCE) endif() endfunction() +function(CUDA_BUILD_SHARED_LIBRARY shared_flag) + set(cmake_args ${ARGN}) + # If SHARED, MODULE, or STATIC aren't already in the list of arguments, then + # add SHARED or STATIC based on the value of BUILD_SHARED_LIBS. + list(FIND cmake_args SHARED _cuda_found_SHARED) + list(FIND cmake_args MODULE _cuda_found_MODULE) + list(FIND cmake_args STATIC _cuda_found_STATIC) + if( _cuda_found_SHARED GREATER -1 OR + _cuda_found_MODULE GREATER -1 OR + _cuda_found_STATIC GREATER -1) + set(_cuda_build_shared_libs) + else() + if (BUILD_SHARED_LIBS) + set(_cuda_build_shared_libs SHARED) + else() + set(_cuda_build_shared_libs STATIC) + endif() + endif() + set(${shared_flag} ${_cuda_build_shared_libs} PARENT_SCOPE) +endfunction() + ############################################################################## # This helper macro populates the following variables and setups up custom # commands and targets to invoke the nvcc compiler to generate C or PTX source @@ -847,8 +864,9 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files) CUDA_GET_SOURCES_AND_OPTIONS(_cuda_wrap_sources _cuda_wrap_cmake_options _cuda_wrap_options ${ARGN}) CUDA_PARSE_NVCC_OPTIONS(CUDA_WRAP_OPTION_NVCC_FLAGS ${_cuda_wrap_options}) - # Figure out if we are building a shared library. Default the value of BUILD_SHARED_LIBS. - set(_cuda_build_shared_libs ${BUILD_SHARED_LIBS}) + # Figure out if we are building a shared library. BUILD_SHARED_LIBS is + # respected in CUDA_ADD_LIBRARY. + set(_cuda_build_shared_libs FALSE) # SHARED, MODULE list(FIND _cuda_wrap_cmake_options SHARED _cuda_found_SHARED) list(FIND _cuda_wrap_cmake_options MODULE _cuda_found_MODULE) @@ -866,6 +884,8 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files) # If we are setting up code for a shared library, then we need to add extra flags for # compiling objects for shared libraries. set(CUDA_HOST_SHARED_FLAGS ${CMAKE_SHARED_LIBRARY_${CUDA_C_OR_CXX}_FLAGS}) + else() + set(CUDA_HOST_SHARED_FLAGS) endif() # Only add the CMAKE_{C,CXX}_FLAGS if we are propagating host flags. We # always need to set the SHARED_FLAGS, though. @@ -1083,8 +1103,10 @@ macro(CUDA_ADD_LIBRARY cuda_target) # Separate the sources from the options CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN}) + CUDA_BUILD_SHARED_LIBRARY(_cuda_shared_flag ${ARGN}) # Create custom commands and targets for each file. - CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources} ${_cmake_options} + CUDA_WRAP_SRCS( ${cuda_target} OBJ _generated_files ${_sources} + ${_cmake_options} ${_cuda_shared_flag} OPTIONS ${_options} ) # Add the library. diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 93d2d1126..411e3906d 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -643,7 +643,7 @@ IF (QT4_QMAKE_FOUND) ) # Set QT_QTASSISTANT_INCLUDE_DIR - FIND_PATH(QT_QTASSISTANT_INCLUDE_DIR QAssistantClient + FIND_PATH(QT_QTASSISTANT_INCLUDE_DIR QtAssistant PATHS ${QT_HEADERS_DIR}/QtAssistant ${QT_LIBRARY_DIR}/QtAssistant.framework/Headers diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx index 47bb56aa5..0d15ddc25 100644 --- a/Source/CTest/cmCTestMemCheckHandler.cxx +++ b/Source/CTest/cmCTestMemCheckHandler.cxx @@ -462,7 +462,7 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking() if ( !this->MemoryTesterOptions.size() ) { this->MemoryTesterOptions = "-q --tool=memcheck --leak-check=yes " - "--show-reachable=yes --workaround-gcc296-bugs=yes --num-callers=100"; + "--show-reachable=yes --workaround-gcc296-bugs=yes --num-callers=50"; } if ( this->CTest->GetCTestConfiguration( "MemoryCheckSuppressionFile").size() ) diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index 80390b452..336303ae0 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -97,6 +97,8 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test) else { this->Completed++; + this->TestFinishMap[test] = true; + this->TestRunningMap[test] = false; this->RunningCount -= GetProcessorsUsed(test); testRun->EndTest(this->Completed, this->Total, false); this->Failed->push_back(this->Properties[test]->Name); diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index a32a3353d..2491d1958 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx @@ -82,17 +82,20 @@ bool cmCTestSubdirCommand for ( it = args.begin(); it != args.end(); ++ it ) { cmSystemTools::ChangeDirectory(cwd.c_str()); - std::string fname = cwd; - fname += "/"; - fname += *it; + std::string fname; - //sanity check on relative path; if not, try absolute path - if ( !cmSystemTools::FileIsDirectory(fname.c_str())) + if(cmSystemTools::FileIsFullPath(it->c_str())) { fname = *it; } + else + { + fname = cwd; + fname += "/"; + fname += *it; + } - if ( !cmSystemTools::FileExists(fname.c_str()) ) + if ( !cmSystemTools::FileIsDirectory(fname.c_str()) ) { // No subdirectory? So what... continue; diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 724007314..e548230c8 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -1521,6 +1521,16 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target, extraLinkOptions += " "; extraLinkOptions += targetLinkFlags; } + if(configName && *configName) + { + std::string linkFlagsVar = "LINK_FLAGS_"; + linkFlagsVar += cmSystemTools::UpperCase(configName); + if(const char* linkFlags = target.GetProperty(linkFlagsVar.c_str())) + { + extraLinkOptions += " "; + extraLinkOptions += linkFlags; + } + } // Get the product name components. std::string pnprefix; diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index 115dc8c66..38347a92a 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -18,7 +18,7 @@ // include configure generated header to define CMAKE_NO_ANSI_STREAM_HEADERS, // CMAKE_NO_STD_NAMESPACE, and other macros. -#include "cmConfigure.h" +#include #include #ifdef _MSC_VER diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx index 2313853bd..3bd47a433 100644 --- a/Source/cmStringCommand.cxx +++ b/Source/cmStringCommand.cxx @@ -700,6 +700,9 @@ bool cmStringCommand return false; } + static bool seeded = false; + bool force_seed = false; + int seed = (int) time(NULL); int length = 5; const char cmStringCommandDefaultAlphabet[] = "qwertyuiopasdfghjklzxcvbnm" "QWERTYUIOPASDFGHJKLZXCVBNM" @@ -723,6 +726,12 @@ bool cmStringCommand ++i; alphabet = args[i]; } + else if ( args[i] == "RANDOM_SEED" ) + { + ++i; + seed = atoi(args[i].c_str()); + force_seed = true; + } } } if ( !alphabet.size() ) @@ -744,7 +753,13 @@ bool cmStringCommand const std::string& variableName = args[args.size()-1]; std::vector result; - srand((int)time(NULL)); + + if (!seeded || force_seed) + { + seeded = true; + srand(seed); + } + const char* alphaPtr = alphabet.c_str(); int cc; for ( cc = 0; cc < length; cc ++ ) diff --git a/Source/cmStringCommand.h b/Source/cmStringCommand.h index 6e4bd860b..2a916b407 100644 --- a/Source/cmStringCommand.h +++ b/Source/cmStringCommand.h @@ -89,7 +89,7 @@ public: " string(SUBSTRING )\n" " string(STRIP )\n" " string(RANDOM [LENGTH ] [ALPHABET ]\n" - " )\n" + " [RANDOM_SEED ] )\n" "REGEX MATCH will match the regular expression once and store the " "match in the output variable.\n" "REGEX MATCHALL will match the regular expression as many times as " @@ -115,7 +115,8 @@ public: "RANDOM will return a random string of given length consisting of " "characters from the given alphabet. Default length is 5 " "characters and default alphabet is all numbers and upper and " - "lower case letters.\n" + "lower case letters. If an integer RANDOM_SEED is given, its " + "value will be used to seed the random number generator.\n" "The following characters have special meaning in regular expressions:\n" " ^ Matches at beginning of a line\n" " $ Matches at end of a line\n" diff --git a/Source/ctest.cxx b/Source/ctest.cxx index 2f994106a..eec5c0332 100644 --- a/Source/ctest.cxx +++ b/Source/ctest.cxx @@ -212,6 +212,13 @@ static const char * cmDocumentationOptions[][3] = "This option allows performing the same CTest action (such as test) " "multiple times and submit all stages to the same dashboard (Dart2 " "required). Each execution requires different index." }, + {"--help-command []", "Show help for a single command and exit.", + "Prints the help for the command to stdout or to the specified file." }, + {"--help-command-list []", "List available commands and exit.", + "Prints the list of all available listfile commands to stdout or the " + "specified file." }, + {"--help-commands []", "Print help for all commands and exit.", + "Prints the help for all commands to stdout or to the specified file." }, {0,0,0} }; diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 110ca973c..6fbe57da9 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1198,6 +1198,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel -S "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/test.cmake" -V --output-log "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/testOutput.log" ) + #make sure all 3 subdirs were added + SET_TESTS_PROPERTIES(CTestTestSubdir PROPERTIES + PASS_REGULAR_EXPRESSION "0 tests failed out of 3") CONFIGURE_FILE( "${CMake_SOURCE_DIR}/Tests/CTestTestTimeout/test.cmake.in" diff --git a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in index 8231990a1..0ab2a67aa 100644 --- a/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in +++ b/Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in @@ -7,19 +7,19 @@ include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake) # gcc dummy.c -v set(linux64_gcc_text " /usr/lib/gcc/x86_64-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_x86_64 --hash-style=both -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../.. -L/usr/lib/x86_64-linux-gnu /tmp/ccEO9iux.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crtn.o") -set(linux64_gcc_libs "gcc;gcc_s;c;gcc;gcc_s") +set(linux64_gcc_libs "c") set(linux64_gcc_dirs "/usr/lib/gcc/x86_64-linux-gnu/4.3.3;/usr/lib;/lib;/usr/lib/x86_64-linux-gnu") list(APPEND platforms linux64_gcc) # g++ dummy.cxx -v set(linux64_g++_text " /usr/lib/gcc/x86_64-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_x86_64 --hash-style=both -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../.. -L/usr/lib/x86_64-linux-gnu /tmp/ccalRBlq.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crtn.o") -set(linux64_g++_libs "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(linux64_g++_libs "stdc++;m;c") set(linux64_g++_dirs "/usr/lib/gcc/x86_64-linux-gnu/4.3.3;/usr/lib;/lib;/usr/lib/x86_64-linux-gnu") list(APPEND platforms linux64_g++) # f95 dummy.f -v set(linux64_f95_text " /usr/lib/gcc/x86_64-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_x86_64 --hash-style=both -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../.. -L/usr/lib/x86_64-linux-gnu /tmp/ccAVcN7N.o -lgfortranbegin -lgfortran -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.3.3/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crtn.o") -set(linux64_f95_libs "gfortranbegin;gfortran;m;gcc_s;gcc;c;gcc_s;gcc") +set(linux64_f95_libs "gfortranbegin;gfortran;m;c") set(linux64_f95_dirs "/usr/lib/gcc/x86_64-linux-gnu/4.3.3;/usr/lib;/lib;/usr/lib/x86_64-linux-gnu") list(APPEND platforms linux64_f95) @@ -43,37 +43,37 @@ list(APPEND platforms linux64_sunf90) # icc dummy.c -v set(linux64_icc_text "ld /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crt1.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o --eh-frame-hdr -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /tmp/iccBP8OfN.o -L/opt/compiler/intel/compiler/11.0/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.. -L/lib64 -L/lib -L/usr/lib64 -L/usr/lib -Bstatic -limf -lsvml -Bdynamic -lm -Bstatic -lipgo -ldecimal -lirc -Bdynamic -lgcc_s -lgcc -Bstatic -lirc -Bdynamic -lc -lgcc_s -lgcc -Bstatic -lirc_s -Bdynamic -ldl -lc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o") -set(linux64_icc_libs "imf;svml;m;ipgo;decimal;irc;gcc_s;gcc;irc;c;gcc_s;gcc;irc_s;dl;c") +set(linux64_icc_libs "imf;svml;m;ipgo;decimal;irc;irc;c;irc_s;dl;c") set(linux64_icc_dirs "/opt/compiler/intel/compiler/11.0/lib/intel64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2;/usr/lib64;/lib64;/usr/x86_64-suse-linux/lib;/lib;/usr/lib") list(APPEND platforms linux64_icc) # icxx dummy.cxx -v set(linux64_icxx_text "ld /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crt1.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o --eh-frame-hdr -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /tmp/icpc270GoT.o -L/opt/compiler/intel/compiler/11.0/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.. -L/lib64 -L/lib -L/usr/lib64 -L/usr/lib -Bstatic -limf -lsvml -Bdynamic -lm -Bstatic -lipgo -ldecimal -Bdynamic -lstdc++ -Bstatic -lirc -Bdynamic -lgcc_s -lgcc -Bstatic -lirc -Bdynamic -lc -lgcc_s -lgcc -Bstatic -lirc_s -Bdynamic -ldl -lc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o") -set(linux64_icxx_libs "imf;svml;m;ipgo;decimal;stdc++;irc;gcc_s;gcc;irc;c;gcc_s;gcc;irc_s;dl;c") +set(linux64_icxx_libs "imf;svml;m;ipgo;decimal;stdc++;irc;irc;c;irc_s;dl;c") set(linux64_icxx_dirs "/opt/compiler/intel/compiler/11.0/lib/intel64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2;/usr/lib64;/lib64;/usr/x86_64-suse-linux/lib;/lib;/usr/lib") list(APPEND platforms linux64_icxx) # ifort dummy.f -v set(linux64_ifort_text "ld --eh-frame-hdr -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out -L/opt/compiler/intel/compiler/11.0/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.. -L/lib64 -L/lib -L/usr/lib64 -L/usr/lib /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crt1.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o /opt/compiler/intel/compiler/11.0/lib/intel64/for_main.o dum.cxx -Bstatic -lifport -lifcore -limf -lsvml -Bdynamic -lm -Bstatic -lipgo -lirc -Bdynamic -lpthread -lc -lgcc_s -lgcc -Bstatic -lirc_s -Bdynamic -ldl -lc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o") -set(linux64_ifort_libs "ifport;ifcore;imf;svml;m;ipgo;irc;pthread;c;gcc_s;gcc;irc_s;dl;c") +set(linux64_ifort_libs "ifport;ifcore;imf;svml;m;ipgo;irc;pthread;c;irc_s;dl;c") set(linux64_ifort_dirs "/opt/compiler/intel/compiler/11.0/lib/intel64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2;/usr/lib64;/lib64;/usr/x86_64-suse-linux/lib;/lib;/usr/lib") list(APPEND platforms linux64_ifort) # pgcc dummy.c -v set(linux64_pgcc_text "/usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o /opt/compiler/pgi/linux86-64/8.0-3/lib/trace_init.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /opt/compiler/pgi/linux86-64/8.0-3/lib/pgi.ld -L/opt/compiler/pgi/linux86-64/8.0-3/lib -L/usr/lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 /tmp/pgcc7OscXa5ur7Zk.o -rpath /opt/compiler/pgi/linux86-64/8.0-3/lib -lnspgc -lpgc -lm -lgcc -lc -lgcc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/crtn.o") -set(linux64_pgcc_libs "nspgc;pgc;m;gcc;c;gcc") +set(linux64_pgcc_libs "nspgc;pgc;m;c") set(linux64_pgcc_dirs "/opt/compiler/pgi/linux86-64/8.0-3/lib;/usr/lib64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2") list(APPEND platforms linux64_pgcc) # pgCC dummy.cxx -v set(linux64_pgCC_text "/usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o /opt/compiler/pgi/linux86-64/8.0-3/lib/trace_init.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /opt/compiler/pgi/linux86-64/8.0-3/lib/pgi.ld -L/opt/compiler/pgi/linux86-64/8.0-3/lib -L/usr/lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 /tmp/pgCCFhjcDt1fs1Ki.o -rpath /opt/compiler/pgi/linux86-64/8.0-3/lib -lstd -lC -lnspgc -lpgc -lm -lgcc -lc -lgcc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/crtn.o") -set(linux64_pgCC_libs "std;C;nspgc;pgc;m;gcc;c;gcc") +set(linux64_pgCC_libs "std;C;nspgc;pgc;m;c") set(linux64_pgCC_dirs "/opt/compiler/pgi/linux86-64/8.0-3/lib;/usr/lib64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2") list(APPEND platforms linux64_pgCC) # pgf90 dummy.f -v set(linux64_pgf90_text "/usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o /opt/compiler/pgi/linux86-64/8.0-3/lib/trace_init.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbegin.o /opt/compiler/pgi/linux86-64/8.0-3/lib/f90main.o -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /opt/compiler/pgi/linux86-64/8.0-3/lib/pgi.ld -L/opt/compiler/pgi/linux86-64/8.0-3/lib -L/usr/lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 /tmp/pgf90QOIc_eB9xY5h.o -rpath /opt/compiler/pgi/linux86-64/8.0-3/lib -lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lnspgc -lpgc -lrt -lpthread -lm -lgcc -lc -lgcc /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtend.o /usr/lib64/crtn.o") -set(linux64_pgf90_libs "pgf90;pgf90_rpm1;pgf902;pgf90rtl;pgftnrtl;nspgc;pgc;rt;pthread;m;gcc;c;gcc") +set(linux64_pgf90_libs "pgf90;pgf90_rpm1;pgf902;pgf90rtl;pgftnrtl;nspgc;pgc;rt;pthread;m;c") set(linux64_pgf90_dirs "/opt/compiler/pgi/linux86-64/8.0-3/lib;/usr/lib64;/usr/lib64/gcc/x86_64-suse-linux/4.1.2") list(APPEND platforms linux64_pgf90) @@ -85,6 +85,39 @@ set(linux64_test1_libs "${linux64_gcc_libs}") set(linux64_test1_dirs "${linux64_gcc_dirs}") list(APPEND platforms linux64_test1) +#----------------------------------------------------------------------------- +# Mac + +# gcc -arch i686 dummy.c -v +set(mac_i686_gcc_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccnhXAGL.o -lSystem -lgcc -lSystem") +set(mac_i686_gcc_libs "") +set(mac_i686_gcc_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib") +list(APPEND platforms mac_i686_gcc) + +# g++ -arch i686 dummy.cxx -v +set(mac_i686_g++_text " /usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.6.o -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. /var/tmp//ccEXXICh.o -lstdc++ -lSystem -lgcc -lSystem") +set(mac_i686_g++_libs "stdc++") +set(mac_i686_g++_dirs "/usr/lib/i686-apple-darwin10/4.2.1;/usr/lib/gcc/i686-apple-darwin10/4.2.1;/usr/lib") +list(APPEND platforms mac_i686_g++) + +# gfortran dummy.f -v +set(mac_i686_gfortran_text " /usr/libexec/gcc/i386-apple-darwin9.7.0/4.4.1/collect2 -dynamic -arch i386 -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1 -L/usr/lib/gcc -L/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1/../../.. /var/tmp//ccgqbX5P.o -lgfortranbegin -lgfortran -lgcc_s.10.5 -lgcc -lSystem") +set(mac_i686_gfortran_libs "gfortranbegin;gfortran") +set(mac_i686_gfortran_dirs "/usr/lib/gcc/i386-apple-darwin9.7.0/4.4.1;/usr/lib/gcc;/usr/lib") +list(APPEND platforms mac_i686_gfortran) + +# gcc -arch ppc dummy.c -v +set(mac_ppc_gcc_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccdcolsP.o -lgcc -lSystemStubs -lSystem") +set(mac_ppc_gcc_libs "") +set(mac_ppc_gcc_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib") +list(APPEND platforms mac_ppc_gcc) + +# g++ -arch ppc dummy.cxx -v +set(mac_ppc_g++_text " /usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/collect2 -dynamic -arch ppc -macosx_version_min 10.6.0 -weak_reference_mismatches non-weak -o a.out -lcrt1.10.5.o -L/usr/lib/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../../powerpc-apple-darwin10/4.2.1 -L/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/../../.. /var/tmp//ccbjB6Lj.o -lstdc++ -lgcc -lSystemStubs -lSystem") +set(mac_ppc_g++_libs "stdc++") +set(mac_ppc_g++_dirs "/usr/lib/powerpc-apple-darwin10/4.2.1;/usr/lib/gcc/powerpc-apple-darwin10/4.2.1;/usr/lib") +list(APPEND platforms mac_ppc_g++) + #----------------------------------------------------------------------------- # Sun @@ -303,13 +336,13 @@ list(APPEND platforms irix64_f90_64) # gcc dummy.c -v set(cygwin_gcc_text " /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. /home/user/AppData/Local/Temp/cczg1Arh.o -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc") -set(cygwin_gcc_libs "gcc;cygwin;user32;kernel32;advapi32;shell32;gcc") +set(cygwin_gcc_libs "cygwin;user32;kernel32;advapi32;shell32") set(cygwin_gcc_dirs "/usr/lib/gcc/i686-pc-cygwin/3.4.4;/usr/lib") list(APPEND platforms cygwin_gcc) # g++ dummy.cxx -v set(cygwin_g++_text " /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. /home/user/AppData/Local/Temp/ccsvcDO6.o -lstdc++ -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc") -set(cygwin_g++_libs "stdc++;gcc;cygwin;user32;kernel32;advapi32;shell32;gcc") +set(cygwin_g++_libs "stdc++;cygwin;user32;kernel32;advapi32;shell32") set(cygwin_g++_dirs "/usr/lib/gcc/i686-pc-cygwin/3.4.4;/usr/lib") list(APPEND platforms cygwin_g++) @@ -317,7 +350,7 @@ list(APPEND platforms cygwin_g++) set(cygwin_gfortran_text "Configured with: ... LD=/opt/gcc-tools/bin/ld.exe /usr/lib/gcc/i686-pc-cygwin/4.3.2/collect2.exe -Bdynamic --dll-search-prefix=cyg -u ___register_frame_info -u ___deregister_frame_info /usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../crt0.o /usr/lib/gcc/i686-pc-cygwin/4.3.2/crtbegin.o -L/usr/lib/gcc/i686-pc-cygwin/4.3.2 -L/usr/lib/gcc/i686-pc-cygwin/4.3.2 -L/usr/lib/gcc/i686-pc-cygwin/4.3.2/../../.. /home/user/AppData/Local/Temp/ccqRWKWg.o -lgfortranbegin -lgfortran -lgcc_s -lgcc_s -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc_s -lgcc_s -lgcc /usr/lib/gcc/i686-pc-cygwin/4.3.2/crtend.o ") -set(cygwin_gfortran_libs "gfortranbegin;gfortran;gcc_s;gcc_s;gcc;cygwin;user32;kernel32;advapi32;shell32;gcc_s;gcc_s;gcc") +set(cygwin_gfortran_libs "gfortranbegin;gfortran;cygwin;user32;kernel32;advapi32;shell32") set(cygwin_gfortran_dirs "/usr/lib/gcc/i686-pc-cygwin/4.3.2;/usr/lib") list(APPEND platforms cygwin_gfortran) @@ -326,19 +359,19 @@ list(APPEND platforms cygwin_gfortran) # gcc dummy.c -v set(msys_gcc_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/cckQmvRt.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") -set(msys_gcc_libs "mingw32;gcc;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;gcc;moldname;mingwex;msvcrt") +set(msys_gcc_libs "mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") set(msys_gcc_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") list(APPEND platforms msys_gcc) # g++ dummy.cxx -v set(msys_g++_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/cci5hYPk.o -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") -set(msys_g++_libs "stdc++;mingw32;gcc;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;gcc;moldname;mingwex;msvcrt") +set(msys_g++_libs "stdc++;mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") set(msys_g++_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") list(APPEND platforms msys_g++) # g77 dummy.f -v set(msys_g77_text " C:/some-mingw/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic /some-mingw/lib/crt2.o C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5 -LC:/some-mingw/bin/../lib/gcc -L/some-mingw/lib -LC:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/../../.. C:/home/user/AppData/Local/Temp/ccabRxQ1.o -lfrtbegin -lg2c -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/some-mingw/bin/../lib/gcc/mingw32/3.4.5/crtend.o") -set(msys_g77_libs "frtbegin;g2c;mingw32;gcc;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;gcc;moldname;mingwex;msvcrt") +set(msys_g77_libs "frtbegin;g2c;mingw32;moldname;mingwex;msvcrt;user32;kernel32;advapi32;shell32;mingw32;moldname;mingwex;msvcrt") set(msys_g77_dirs "C:/some-mingw/lib/gcc/mingw32/3.4.5;C:/some-mingw/lib/gcc;/some-mingw/lib;C:/some-mingw/lib") list(APPEND platforms msys_g77) diff --git a/Tests/CMakeTests/StringTestScript.cmake b/Tests/CMakeTests/StringTestScript.cmake index 652d81b9d..37038561d 100644 --- a/Tests/CMakeTests/StringTestScript.cmake +++ b/Tests/CMakeTests/StringTestScript.cmake @@ -182,6 +182,14 @@ elseif(testname STREQUAL random_with_various_alphabets) # pass string(RANDOM LENGTH 1 ALPHABET "Q" v) message(STATUS "v='${v}'") + # seed values -- 2 same, then 1 different + string(RANDOM LENGTH 32 ALPHABET "ACGT" RANDOM_SEED 987654 v) + message(STATUS "v='${v}'") + string(RANDOM LENGTH 32 ALPHABET "ACGT" RANDOM_SEED 987654 v) + message(STATUS "v='${v}'") + string(RANDOM LENGTH 32 ALPHABET "ACGT" RANDOM_SEED 876543 v) + message(STATUS "v='${v}'") + # alphabet of many colors - use all the crazy keyboard characters string(RANDOM LENGTH 78 ALPHABET "~`!@#$%^&*()_-+={}[]\\|:\\;'\",.<>/?" v) message(STATUS "v='${v}'") diff --git a/Tests/CTestTestSubdir/CMakeLists.txt b/Tests/CTestTestSubdir/CMakeLists.txt index f5a1fe290..5daa543a3 100644 --- a/Tests/CTestTestSubdir/CMakeLists.txt +++ b/Tests/CTestTestSubdir/CMakeLists.txt @@ -9,3 +9,5 @@ GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH) SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest") ADD_SUBDIRECTORY(subdir) +SUBDIRS(subdir2) +SUBDIRS("${CTestTestSubdir_SOURCE_DIR}/subdir3") diff --git a/Tests/CTestTestSubdir/subdir/CMakeLists.txt b/Tests/CTestTestSubdir/subdir/CMakeLists.txt index a92e13be5..b40d316d6 100644 --- a/Tests/CTestTestSubdir/subdir/CMakeLists.txt +++ b/Tests/CTestTestSubdir/subdir/CMakeLists.txt @@ -1,2 +1,2 @@ ADD_EXECUTABLE (main main.c) -ADD_TEST (TestMain main) +ADD_TEST (TestMain1 main) diff --git a/Tests/CTestTestSubdir/subdir2/CMakeLists.txt b/Tests/CTestTestSubdir/subdir2/CMakeLists.txt new file mode 100644 index 000000000..23f8e07c2 --- /dev/null +++ b/Tests/CTestTestSubdir/subdir2/CMakeLists.txt @@ -0,0 +1,2 @@ +ADD_EXECUTABLE (main2 main.c) +ADD_TEST (TestMain2 main2) diff --git a/Tests/CTestTestSubdir/subdir2/main.c b/Tests/CTestTestSubdir/subdir2/main.c new file mode 100644 index 000000000..8488f4e58 --- /dev/null +++ b/Tests/CTestTestSubdir/subdir2/main.c @@ -0,0 +1,4 @@ +int main(void) +{ + return 0; +} diff --git a/Tests/CTestTestSubdir/subdir3/CMakeLists.txt b/Tests/CTestTestSubdir/subdir3/CMakeLists.txt new file mode 100644 index 000000000..9a44b12b8 --- /dev/null +++ b/Tests/CTestTestSubdir/subdir3/CMakeLists.txt @@ -0,0 +1,2 @@ +ADD_EXECUTABLE (main3 main.c) +ADD_TEST (TestMain3 main3) diff --git a/Tests/CTestTestSubdir/subdir3/main.c b/Tests/CTestTestSubdir/subdir3/main.c new file mode 100644 index 000000000..8488f4e58 --- /dev/null +++ b/Tests/CTestTestSubdir/subdir3/main.c @@ -0,0 +1,4 @@ +int main(void) +{ + return 0; +} diff --git a/bootstrap b/bootstrap index b6d100139..25d6b68fa 100755 --- a/bootstrap +++ b/bootstrap @@ -1316,9 +1316,9 @@ if [ "x${cmake_cxx_flags}" != "x" ]; then fi cmake_c_flags_String="-DKWSYS_STRING_C" -cmake_c_flags="${cmake_c_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` \ +cmake_c_flags="${cmake_c_flags}-I`cmake_escape \"${cmake_bootstrap_dir}\"` -I`cmake_escape \"${cmake_source_dir}/Source\"` \ -I`cmake_escape \"${cmake_bootstrap_dir}\"`" -cmake_cxx_flags="${cmake_cxx_flags}-I`cmake_escape \"${cmake_source_dir}/Source\"` \ +cmake_cxx_flags="${cmake_cxx_flags} -I`cmake_escape \"${cmake_bootstrap_dir}\"` -I`cmake_escape \"${cmake_source_dir}/Source\"` \ -I`cmake_escape \"${cmake_bootstrap_dir}\"`" echo "cmake: ${objs}" > "${cmake_bootstrap_dir}/Makefile" echo " ${cmake_cxx_compiler} ${cmake_ld_flags} ${cmake_cxx_flags} ${objs} -o cmake" >> "${cmake_bootstrap_dir}/Makefile"