1. 02 Dec, 2009 5 commits
    • Brad King's avatar
      Modernize GNU compiler info on Windows · aff31479
      Brad King authored
      This moves GNU compiler info on Windows into new-style modules
      
        Platform/Windows-GNU-<lang>.cmake
      
      using language-independent helper module
      
        Platform/Windows-GNU.cmake
      
      to define macros consolidating the information.
      aff31479
    • Brad King's avatar
      Split GNU compiler information files · e28c16b4
      Brad King authored
      This moves GNU compiler flags into new-style modules
      
        Compiler/GNU-<lang>.cmake
        Platform/<os>-GNU-<lang>.cmake
      
      We use language-independent helper modules
      
        Compiler/GNU.cmake
        Platform/<os>-GNU.cmake
      
      to define macros consolidating the information.
      e28c16b4
    • Zach's avatar
    • Brad King's avatar
      Make CTestTestTimeout time configurable · b14734b9
      Brad King authored
      In this test we start up a cmake script that runs a process that sleeps,
      and the timeout for the script is shorter than the sleep time.  However,
      in order to properly detect that the sleeping grandchild is killed when
      the script times out we need to give sufficient time for the script to
      start the grandchild.  Otherwise the log file for the grandchild is not
      available.
      
      On some (cygwin) builds our previous 1 second timeout for the script was
      not long enough to let the interpreter load and start the grandchild.
      We make the timeout time configurable by setting CTestTestTimeout_TIME
      in the cache for CMake itself.  It tells the test how long to let the
      script run.  The grandchild always sleeps for 4 seconds longer to ensure
      a comfortable window during which the process tree can be killed.
      b14734b9
    • Brad King's avatar
      Remove unused code from CTest test suite · ed55b1b8
      Brad King authored
      We remove from Tests/CTestTest*/CMakeLists.txt some historical cruft
      that is no longer used by the test suite.
      ed55b1b8
  2. 01 Dec, 2009 8 commits
    • Kitware Robot's avatar
      KWSys Nightly Date Stamp · cdc9ef3b
      Kitware Robot authored
      cdc9ef3b
    • Brad King's avatar
      Use one arch for 1.4-compatible check_type_size · 27873a48
      Brad King authored
      The CMakeBackwardCompatibilityC module provides some try-compile results
      that were automatically provided by CMake 1.4.  When performing the
      checks for OS X universal binaries we just pick one architecture to get
      through the checks without error.  Since CMake 1.4 did not support any
      universal binaries, projects that want them should not depend on this
      compatibility module anyway.
      27873a48
    • James Bigler's avatar
    • Brad King's avatar
      Drop -rdynamic from Linux build rules · 1f06c33f
      Brad King authored
      This is a GNU-specific option that should not be specified for all
      compilers on Linux.  It tells the GNU compiler to pass -export-dynamic
      to the linker to export symbols from executables for use by plugins.
      Since we provide the ENABLE_EXPORTS target property to do the same thing
      in a cross-platform way, there is no need to pass -rdynamic always.
      
      Since the option is not useful for GNU tools and breaks other tools on
      Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS.
      This also allows us to stop setting the variable in other Linux compiler
      files just to erase the bad flag.
      
      See issue #9985.
      1f06c33f
    • Brad King's avatar
      curl: Hard-code HAVE_W* macros on UNIX for Cygwin · 997fd839
      Brad King authored
      The curl library code assumes that HAVE_WINDOWS_H and similar macros are
      not defined on Cygwin.  Its CMake code achieved this by not even testing
      for the corresponding headers on UNIX platforms.  However, libarchive
      does test HAVE_WINDOWS_H and confuses our curl build.  We avoid the
      conflict by hard-coding the macros to 0 for UNIX builds inside the curl
      tree.
      997fd839
    • Brad King's avatar
      Always use a configuration for CTestTestTimeout · 7380d3ab
      Brad King authored
      This test requires that the dashboard script it drives be invoked with
      "ctest -C <config> -S ...".  We create a "CTestTest_CONFIG" variable to
      hold a configuration selected at test time.  We use the configuration
      given to the outer CTest, if any, and then default to either Debug or
      the CMAKE_BUILD_TYPE.
      7380d3ab
    • Brad King's avatar
      KWSys: List processes with "ps -ef" on OpenSolaris · 1a5f209e
      Brad King authored
      In order to kill process trees we need to list all processes to find
      those whose parent we are killing.  We implement process listing on
      OpenSolaris by using "ps -ef" and parsing the resulting format:
      
           UID   PID  PPID   C    STIME TTY         TIME CMD
           %*s    %d    %d   %*[^\n]\n
      1a5f209e
    • Brad King's avatar
      KWSys: Use "ps -Af" for process list on QNX · be36c14b
      Brad King authored
      In order to kill process trees we need to list all processes to find
      those whose parent we are killing.  We implement process listing on QNX
      using "ps -Af" and parsing the resulting format:
      
        UID        PID       PPID  C STIME TTY          TIME CMD
        %*d         %d         %d  %*[^\n]\n
      be36c14b
  3. 30 Nov, 2009 11 commits
    • Kitware Robot's avatar
      KWSys Nightly Date Stamp · afef5245
      Kitware Robot authored
      afef5245
    • Brad King's avatar
      libarchive: Remove unused STDC_HEADERS try_run · 8b2f6dbf
      Brad King authored
      This was the only try_run() in libarchive, and the result was not used
      in the source code.  We remove it to allow cross-compiling to work.
      8b2f6dbf
    • James Bigler's avatar
      c9235c01
    • Brad King's avatar
      CTest: Test process tree kill on timeout · 88eeface
      Brad King authored
      We extend the CTestTestTimeout test to check that when a test times out
      its children (grandchildren of ctest) are killed.  Instead of running
      the timeout executable directly, we run it through a cmake script that
      redirects the timeout executable output to a file.  A second test later
      runs and verifies that the timeout executable was unable to complete and
      write data to the log file.  Only if the first inner test times out and
      the second inner test passes (log is empty) does the CTestTestTimeout
      test pass.
      88eeface
    • Brad King's avatar
      KWSys: Fix process tree kill on 64-bit Windows · 2aaa9677
      Brad King authored
      We enumerate processes to identify those whose parent is being killed so
      that we can recursively kill the children.  Enumeration uses the
      Process32(First|Next) windows API functions, which accept PROCESSENTRY32
      objects to be filled.  This commit corrects the declaration of the entry
      structure to account for its size on 64-bit Windows.
      2aaa9677
    • Zach's avatar
      Document new timeout command line option · b286e6ec
      Zach authored
      b286e6ec
    • Zach's avatar
      Align test output for timeout condition. · c17ce46c
      Zach authored
      c17ce46c
    • Zach's avatar
      Added the --timeout option to ctest command line. This sets a global timeout... · a52c0118
      Zach authored
      Added the --timeout option to ctest command line.  This sets a global timeout on all tests if no more specific timeout is set on them.
      a52c0118
    • Brad King's avatar
      KWSys: Restore SIGSTOP/SIGKILL to end process tree · b21f1eae
      Brad King authored
      On UNIX systems we kill a tree of processes by performing a DFS walk of
      the tree.  We send SIGSTOP to each process encountered, recursively
      handle its children, and then send SIGKILL.
      
      We once used the above approach in the past, but it was removed by the
      commit "Do not send both SIGSTOP and SIGKILL when killing a process".
      The commit was meant to work-around an OS X 10.3 bug in which the child
      would not always honor SIGKILL after SIGSTOP.  At the time we wrongly
      assumed that the process tree remains intact after SIGKILL and before
      the child is reaped.  In fact the grandchildren may be re-parented to
      ppid=1 even before the child is reaped, which causes the DFS walk to
      miss them.
      b21f1eae
    • Brad King's avatar
      Singly-quote target names for Watcom linker · 4f43c1f2
      Brad King authored
      The Watcom tools do their own command-line parsing and do not accept
      double-quotes.  Instead we single-quote the target output name when
      invoking wlink and other Watcom tools.  This fixes support for spaces in
      the target output directory path when it is not under the build tree.
      4f43c1f2
    • Brad King's avatar
      Cleanup CMakeBuildTest in test_clean target · 5152bf56
      Brad King authored
      The test_clean target is supposed to remove all test build directories.
      We add the build directory for CMakeBuildTest because it was missing.
      5152bf56
  4. 29 Nov, 2009 1 commit
  5. 28 Nov, 2009 2 commits
  6. 27 Nov, 2009 1 commit
  7. 26 Nov, 2009 1 commit
  8. 25 Nov, 2009 2 commits
  9. 24 Nov, 2009 9 commits
    • Kitware Robot's avatar
      KWSys Nightly Date Stamp · f81a3dff
      Kitware Robot authored
      f81a3dff
    • Bill Hoffman's avatar
      5d62c507
    • Zach's avatar
      Mac has gettimeofday defined, but cmsys wasn't aware of that, so it was... · 254d267e
      Zach authored
      Mac has gettimeofday defined, but cmsys wasn't aware of that, so it was falling back to using time() which only provides second resolution.  Fixed to allow usec res.
      254d267e
    • Brad King's avatar
      Improve fake $HOME test isolation code · 1d6e7ed7
      Brad King authored
      The commit "Fake $HOME to isolate tests from user" started setting $HOME
      in the CTest script environment.  On some platforms tests depend on some
      local configuration in the home directory, such as the "cvs login" for
      KWSys in CTestTest3.
      
      In this commit we now construct a fake home dir during CMake config step
      and populate it with a .cvspass file needed by the test.  We also check
      CTEST_NO_TEST_HOME to optionally disable the test home.
      
      See issue #9949.
      1d6e7ed7
    • Zach's avatar
      0ae07800
    • Brad King's avatar
      Test CMP0015 OLD and NEW link_directories behavior · bb187903
      Brad King authored
      We create a LinkDirectory test to check that the policy OLD and NEW
      behaviors work as documented.  See issue #9697.
      bb187903
    • Brad King's avatar
      Teach link_directories to recognize relative paths · 02db4323
      Brad King authored
      We create CMake Policy CMP0015 to make link_directories() treat relative
      paths with respect to the source tree while retaining compatibility.
      This makes it consistent with include_directories() and other commands.
      
      Changes based on patch from Alex.  See issue #9697.
      02db4323
    • Brad King's avatar
      CTest: Move initial checkout to ctest_start() · e1548142
      Brad King authored
      In CTest command-driven script mode we support starting without a source
      tree.  Previously the ctest_start() command would do some initialization
      but could not do anything that required CTestConfig.cmake from the input
      source tree.  Later, ctest_update() would run CTEST_CHECKOUT_COMMAND to
      create the source tree, and then re-initialize everything.  This
      delayed-initialization approach led to many complicated cases of which
      only some worked.  For example, the second initialization only worked
      correctly in Nightly mode and simply failed for Experimental and
      Continuous builds.
      
      A simpler solution is to run CTEST_CHECKOUT_COMMAND during ctest_start()
      and then have a single initialization path.  In principle this change in
      behavior could break scripts that set the checkout command after
      ctest_start() but before ctest_update().  However, the convention we've
      always followed has been to set all variables before ctest_start().
      
      See issue #9450.
      e1548142
    • Brad King's avatar
      CTest: Simplify Initialize method signature · c2ba3578
      Brad King authored
      We make the cmCTest::Initialize method private since it is only called
      from inside the class implementation.  We also combine the two boolean
      arguments into one since they both meant the same thing.
      c2ba3578