1. 28 Sep, 2012 1 commit
  2. 15 Aug, 2012 1 commit
    • Brad King's avatar
      Add boolean generator expressions · ebf05abd
      Brad King authored
      Add generator expressions that combine and use boolean test results:
       $<0:...>         = empty string (ignores "...")
       $<1:...>         = content of "..."
       $<AND:?[,?]...>  = '1' if all '?' are '1', else '0'
       $<OR:?[,?]...>   = '0' if all '?' are '0', else '1'
       $<NOT:?>         = '0' if '?' is '1', else '1'
      These will be useful to evaluate (future) boolean query expressions and
      condition content on the results.  Include tests and documentation.
  3. 10 Jul, 2012 1 commit
    • Brad King's avatar
      include: Ignore empty string as file name (#13388) · 2e99949c
      Brad King authored
      Previously CMake silently accepted the empty string and added a bogus
      dependency on the current directory.  Instead warn about the empty file
      name and ignore it.  We cannot make this an error because there may be
      existing projects that accidentally depend on the old behavior.
      Add a RunCMake.include test to cover this case.
  4. 20 Jun, 2012 1 commit
    • Brad King's avatar
      Do not crash on SHARED library without language (#13324) · 56148fd2
      Brad King authored
      Since commit e1409ac5 (Support building shared libraries or modules
      without soname, 2012-04-22) CMake crashes on the code
       add_library(foo SHARED foo.nolang)
      because the logic to lookup the language's soname flag was moved from
      cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check
      for a NULL language.  Restore the check for NULL.
      Add RunCMake.Languages test to cover language error cases like this one.
  5. 19 Apr, 2012 2 commits
    • Brad King's avatar
      include_external_msproject: Test TYPE, GUID, PLATFORM options (#13120) · 4a30258d
      Brad King authored
      Add "RunCMake.include_external_msproject" test to use the TYPE, GUID, and
      PLATFORM options to include_external_msproject.  Since projects with
      custom types and platforms cannot be loaded without special VS plugins
      validate the results by directly parsing the generated solution (.sln).
      Co-Author: Leonid Yurchenko <nocturne@qarea.com>
    • Brad King's avatar
      Teach RunCMake tests to allow custom checks · 38c3943b
      Brad King authored
      Look for a <SubTest>-check.cmake script and load it to check side
      effects of the sub test.  Provide it with the test source and build tree
      paths in variables.  Check for a failure message in a result variable.
  6. 17 Apr, 2012 1 commit
    • Brad King's avatar
      list: Handle errors on empty lists more gracefully (#13138) · 05604eb9
      Brad King authored
      Since commit ed1ea24c (Fix INSERT to allow inserting to empty list,
      2006-05-15) the list command allows insertion into an empty list at
      index 0.  Fix rejection of insertion at non-zero (negative) indices to
      present an error message instead of crashing.
      While at it, fix the error message of the GET and REMOVE_AT operations
      when the list is empty to not present a bogus allowed range.
      Add a "RunCMake.list" test to cover failure cases on empty lists.
  7. 16 Mar, 2012 1 commit
    • Brad King's avatar
      Test OBJECT library failure cases · 56831016
      Brad King authored
      Add "RunCMake.ObjectLibrary" test to verify that unsupported use cases
      are rejected with errors:
      * An OBJECT library may not reference another object library
      * An OBJECT library may not be referenced in target_link_libraries
      * An OBJECT library may not contain non-compiling sources
      * An OBJECT library may not have pre/post build/link commands
      * An OBJECT library may not be installed, exported, or imported
      Also verify that invalid $<TARGET_OBJECTS:...> expressions are
  8. 12 Mar, 2012 3 commits
    • Brad King's avatar
      Use generalized RunCMake test infrastrucure for build_command test · 55b2aa88
      Brad King authored
      The CMakeCommands.build_command test performs output/error checking
      so move it over to RunCMake to re-use the generalized infrastrucure.
      This is the only test left using Tests/CMakeCommands/CMakeLists.txt
      so remove it.
    • Brad King's avatar
    • Brad King's avatar
      Add stronger infrastructure for CMake-only tests · 42a81e71
      Brad King authored
      The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for
      CMake-only tests, 2012-01-11) was sufficient only for tests that always
      run CMake to successfully configure a project.  Later commit eeaaffcb
      (find_package: Test error and warning messages in failure cases,
      2012-02-28) added a sample test that covers failure cases.
      Generalize the above to create new "RunCMake" test infrastructure that
      can run CMake multiple times for a single project with different
      variations and check for expected result/stdout/stderr.  Allow for both
      successful and failing CMake project configuration cases.  This will be
      useful to test error messages and failure behavior.