CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #
  2. # A more complex test case
  3. #
  4. PROJECT (Complex)
  5. #
  6. # Use the ansi CXX compile flag for building cmake
  7. #
  8. IF (CMAKE_ANSI_CXXFLAGS)
  9. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
  10. ENDIF (CMAKE_ANSI_CXXFLAGS)
  11. ADD_DEFINITIONS(-DCMAKE_IS_FUN)
  12. INCLUDE(${Complex_SOURCE_DIR}/VarTests.txt)
  13. LOAD_CACHE(${Complex_SOURCE_DIR})
  14. CONFIGURE_FILE(
  15. ${Complex_SOURCE_DIR}/cmTestConfigure.h.in
  16. ${Complex_BINARY_DIR}/cmTestConfigure.h)
  17. INCLUDE_DIRECTORIES(
  18. ${Complex_BINARY_DIR}
  19. ${Complex_SOURCE_DIR}/Library
  20. ${Complex_SOURCE_DIR}/../../Source
  21. )
  22. LINK_DIRECTORIES(
  23. ${Complex_BINARY_DIR}/Library
  24. )
  25. INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$")
  26. SET (LIBRARY_OUTPUT_PATH
  27. ${Complex_BINARY_DIR}/bin/ CACHE PATH
  28. "Single output directory for building all libraries.")
  29. SET (EXECUTABLE_OUTPUT_PATH
  30. ${Complex_BINARY_DIR}/bin/ CACHE PATH
  31. "Single output directory for building all executables.")
  32. #
  33. # Where will executable tests be written ?
  34. #
  35. IF (EXECUTABLE_OUTPUT_PATH)
  36. SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
  37. ELSE (EXECUTABLE_OUTPUT_PATH)
  38. SET (CXX_TEST_PATH .)
  39. ENDIF (EXECUTABLE_OUTPUT_PATH)
  40. SUBDIRS(Library Executable)
  41. SUBDIR_DEPENDS(Executable Library)
  42. #
  43. # Exec program
  44. # Increase coverage.
  45. #
  46. OPTION(EXEC_PROGRAM "Test EXEC_PROGRAM" ON)
  47. IF (EXEC_PROGRAM)
  48. EXEC_PROGRAM("echo EXEC_PROGRAM")
  49. ENDIF (EXEC_PROGRAM)
  50. #
  51. # More coverage
  52. #
  53. ABSTRACT_FILES(
  54. ExtraSources/file1.cxx
  55. )
  56. INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
  57. #
  58. # Create directory.
  59. # The 'complex' executable will then test if this dir exists,
  60. # sadly it won't be able to remove it.
  61. #
  62. MAKE_DIRECTORY("${Complex_BINARY_DIR}/make_dir")
  63. #
  64. # Test Cable
  65. #
  66. CABLE_CLASS_SET(Float float)
  67. CABLE_CLASS_SET(Mesh "itk::Mesh<$Float>")