1. 31 Oct, 2014 1 commit
  2. 07 Oct, 2013 1 commit
    • Brad King's avatar
      Set policy CMP0025 to NEW while building CMake itself · 1763c31c
      Brad King authored
      CMake is aware of the policy's NEW behavior and the AppleClang compiler
      id.  Set the policy to NEW explicitly to avoid the warning and get the
      NEW behavior.
      
      Also teach the RunCMake test infrastructure to build tests with
      -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning
      in test output that must match specific regular expressions.
      1763c31c
  3. 02 May, 2012 1 commit
    • Brad King's avatar
      KWSys: Remove dependencies on FundamentalType · 221b5b69
      Brad King authored
      The hash_fun.hxx header is configured whether FundamentalType is enabled
      or not and so cannot depend on it.  Run the relevant platform tests
      whether or not FundamentalType is on and configure the result directly
      into hash_fun.  While at it, remove the dependence of SystemInformation
      on FundamentalType too since it needs only information that we now
      always compute.
      221b5b69
  4. 27 Apr, 2012 1 commit
    • Brad King's avatar
      KWSys: Fix SystemTools environment memory handling (#13156) · e48796b2
      Brad King authored
      The SystemTools::PutEnv function tries to provide the "putenv" API
      without leaking memory.  However, the kwsysDeletingCharVector singleton
      frees memory that may still be referenced by the environment table,
      having been placed there by putenv.  If any static destruction or
      processing by an external tool happens after the singleton is destroyed
      and accesses the environment it will read invalid memory.
      
      Replace use of putenv with setenv/unsetenv when available.  The latter
      manage internal copies of the values passed instead of referencing the
      original memory.  When setenv/unsetenv are not available use putenv with
      a singleton that removes its values from the environment before freeing
      their memory.  This requires an "unputenv" implementation.  On at least
      some platforms it must be written in terms of "putenv" because other
      APIs are not available and direct modification of the "environ" global
      is not safe (e.g. on Windows there is interaction with "wenviron").
      Fortunately either putenv("A=") or putenv("A") will remove "A" from the
      environment on these platforms.  On other platforms fall back to direct
      manipulation of "environ".
      
      Also add UnPutEnv to the API and add a test for the behavior of both.
      e48796b2
  5. 25 Apr, 2012 1 commit
    • Brad King's avatar
      KWSys: Remove DateStamp · 5f807a62
      Brad King authored
      KWSys is no longer shared in projects via a server-side directory
      symlink in CVS.  An automated nightly date stamp commit can no longer be
      shared by multiple projects directly.  It needs a per-project replay
      robot so the nightly commits end up needing N+1 robots instead of N.
      Remove the DateStamp feature because it is no longer useful or
      maintained by nightly commits.
      5f807a62
  6. 23 Mar, 2011 1 commit
  7. 01 Mar, 2011 1 commit
  8. 14 Dec, 2010 1 commit
  9. 01 Dec, 2010 1 commit
  10. 30 Jun, 2010 4 commits
    • Brad King's avatar
      KWSys: Optionally suppress consistent test failures · 3b26fa13
      Brad King authored
      Add option KWSYS_TEST_BOGUS_FAILURES that can be set by a containing
      project or in the CMake cache to list tests known to fail consistently
      on a buggy system.
      3b26fa13
    • Brad King's avatar
      KWSys: Use short fallback timeout for Process tests · b84220b2
      Brad King authored
      If any of the KWSys Process tests take more than a minute or two then
      something is wrong.  There is no need to wait for a long default
      timeout.
      b84220b2
    • Brad King's avatar
      From 83cf3fa2fe65b99758899463ca25941eb3fb3989 Mon Sep 17 00:00:00 2001 · 26ea271b
      Brad King authored
      From: Brad King <brad.king@kitware.com>
      Date: Wed, 30 Jun 2010 11:25:42 -0400
      Subject: [PATCH 2/2] KWSys: Optionally suppress consistent test failures
      
      Add option KWSYS_TEST_BOGUS_FAILURES that can be set by a containing
      project or in the CMake cache to list tests known to fail consistently
      on a buggy system.
      ---
       Source/kwsys/CMakeLists.txt |    6 ++++++
       1 files changed, 6 insertions(+), 0 deletions(-)
      
      diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt
      index bdf6613..bcc7a96 100644
      --- a/Source/kwsys/CMakeLists.txt
      +++ b/Source/kwsys/CMakeLists.txt
      @@ -1125,5 +1125,11 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
             SET_TESTS_PROPERTIES(kwsys.testFail PROPERTIES MEASUREMENT "Some Key=Some Value")
             MESSAGE(STATUS "GET_TEST_PROPERTY returned: ${wfv}")
           ENDIF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY AND KWSYS_STANDALONE)
      +
      +    # Suppress known consistent failures on buggy systems.
      +    IF(KWSYS_TEST_BOGUS_FAILURES)
      +      SET_TESTS_PROPERTIES(${KWSYS_TEST_BOGUS_FAILURES} PROPERTIES WILL_FAIL ON)
      +    ENDIF()
      +
         ENDIF(BUILD_TESTING)
       ENDIF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
      --
      1.7.0
      26ea271b
    • Brad King's avatar
      From 829fa09a262cb79e95975d8942c8e406c008397f Mon Sep 17 00:00:00 2001 · c00e4ac3
      Brad King authored
      From: Brad King <brad.king@kitware.com>
      Date: Wed, 30 Jun 2010 11:23:19 -0400
      Subject: [PATCH 1/2] KWSys: Use short fallback timeout for Process tests
      
      If any of the KWSys Process tests take more than a minute or two then
      something is wrong.  There is no need to wait for a long default
      timeout.
      ---
       Source/kwsys/CMakeLists.txt |    1 +
       1 files changed, 1 insertions(+), 0 deletions(-)
      
      diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt
      index 083629a..bdf6613 100644
      --- a/Source/kwsys/CMakeLists.txt
      +++ b/Source/kwsys/CMakeLists.txt
      @@ -1097,6 +1097,7 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
           FOREACH(n 1 2 3 4 5 6 ${KWSYS_TEST_PROCESS_7})
             ADD_TEST(kwsys.testProcess-${n} ${EXEC_DIR}/${KWSYS_NAMESPACE}TestProcess ${n})
             KWSYS_SET_PROPERTY(TEST kwsys.testProcess-${n} PROPERTY LABELS ${KWSYS_LABELS_TEST})
      +      SET_TESTS_PROPERTIES(kwsys.testProcess-${n} PROPERTIES TIMEOUT 120)
           ENDFOREACH(n)
      
           # Some Apple compilers produce bad optimizations in this source.
      --
      1.7.0
      c00e4ac3
  11. 29 Jun, 2010 2 commits
  12. 10 Jun, 2010 1 commit
    • Brad King's avatar
      KWSys: Configure DynamicLoader library prefix/suffix · 3f929475
      Brad King authored
      The DynamicLoader::LibPrefix and DynamicLoader::LibExtension methods
      previously hard-coded the module name components for each platform.  Set
      them from the CMAKE_SHARED_MODULE_PREFIX and CMAKE_SHARED_MODULE_SUFFIX
      CMake variables instead.  This ensures consistency in a program that
      uses these methods to construct the file names for its own modules.
      3f929475
  13. 28 Jan, 2010 1 commit
  14. 15 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Build tests after libraries · 357096d3
      Brad King authored
      The TestSharedForward executable and TestDynload module do not actually
      link to a KWSys library, but it is nice to build them after the
      libraries just like all other test binaries.
      
      This also works around a universal binary bug in Xcode 2.x.  It forgets
      to create the output directory for the executable before linking it.  We
      avoid the problem by putting the library in the directory first.
      357096d3
  15. 08 Dec, 2009 1 commit
    • Brad King's avatar
      KWSys: Remove default exe output path · 15316c12
      Brad King authored
      KWSys should not set variables outside its namespace.  It can honor the
      EXECUTABLE_OUTPUT_PATH set by a host project, but tere is no need for it
      to set a default in the host project cache.
      15316c12
  16. 23 Nov, 2009 1 commit
  17. 20 Nov, 2009 4 commits
    • Brad King's avatar
      KWSys: Set CMP0003 to NEW · 9ec851bc
      Brad King authored
      The commit "Enable loose loop constructs in KWSys" set the minimum
      required CMake version to 2.4.5.  This regressed the setting of CMP0003,
      so we restore it in this commit.
      9ec851bc
    • Brad King's avatar
      Fix KWSys FundamentalType for Universal Binaries · bbbdf54a
      Brad King authored
      The FundamentalType header needs to know type sizes at preprocessing
      time.  This commit teaches it to avoid using CHECK_TYPE_SIZE because the
      macro does not work for types whose size varies across architectuers in
      Mac OS X universal binaries.  Fortunately the Mac compilers provide just
      enough information to detect the needed type sizes during preprocessing.
      
      We now use preprocessor macros instead of configuration tests whenever
      they are available.  As a side effect this reduces the number of
      try-compiles needed with GCC.
      
      See issue #9913.
      bbbdf54a
    • Brad King's avatar
      Check for 'long long' without computing size · 2d80c9e3
      Brad King authored
      In KWSys IOStream we need to detect whether 'long long' exists but we do
      not need its size.  We avoid using CHECK_TYPE_SIZE because it does not
      work for types whose size varies across architectuers in Mac OS X
      universal binaries.  See issue #9913.
      2d80c9e3
    • Brad King's avatar
      Enable loose loop constructs in KWSys · 2a789187
      Brad King authored
      We set CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS in KWSys's CMakeLists.txt file
      to enable simpler endif() syntax for CMake 2.4.
      2a789187
  18. 01 Oct, 2009 1 commit
  19. 28 Sep, 2009 2 commits
    • Brad King's avatar
      Convert KWSys to OSI-approved BSD License · de955e4b
      Brad King authored
      This converts the KWSys license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the KWSys copyright to
      cover the full development time range.
      de955e4b
    • Brad King's avatar
      Install KWSys Copyright.txt as documentation · 832f0a88
      Brad King authored
      This commit adds KWSys configuration option KWSYS_INSTALL_DOC_DIR to
      specify the directory for installation of documentation.  We use it to
      put the KWSys Copyright.txt file at the location
      
        ${KWSYS_INSTALL_DOC_DIR}/${KWSYS_NAMESPACE}/Copyright.txt
      
      in the project installation tree.  This helps containing projects meet
      the license requirement to distribute the copyright and license with
      binary forms.
      832f0a88
  20. 22 Sep, 2009 1 commit
  21. 31 Aug, 2009 1 commit
    • Brad King's avatar
      Define kwsys_ios_binary macro for std::ios::binary · 207aab6a
      Brad King authored
      The 'binary' openmode does not exist on all compilers.  We define macro
      <kwsys>_ios_binary, where <kwsys> is the KWSys namespace, to refer to
      std::ios::binary if it exists and 0 otherwise.  Sample usage:
      
        kwsys_ios::ifstream fin(fn, kwsys_ios::ios::in | kwsys_ios_binary);
      207aab6a
  22. 27 Jul, 2009 1 commit
  23. 10 Jun, 2009 1 commit
    • Brad King's avatar
      COMP: Avoid String.c inclusion by Compaq templates · 776e21d1
      Brad King authored
      The Compaq compiler (on VMS) includes 'String.c' in source files that
      use the stl string while looking for template definitions.  This was the
      true cause of double-inclusion of the 'kwsysPrivate.h' header.  We work
      around the problem by conditionally compiling the entire source file on
      a condition only true when really building the source.
      776e21d1
  24. 13 Feb, 2009 2 commits
  25. 17 Oct, 2008 2 commits
  26. 26 Sep, 2008 1 commit
  27. 14 May, 2008 1 commit
  28. 17 Mar, 2008 1 commit
  29. 27 Feb, 2008 1 commit
  30. 31 Jan, 2008 1 commit