CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 2.6)
  2. project(TestsWorkingDirectoryProj)
  3. add_executable(WorkingDirectory main.c)
  4. enable_testing()
  5. set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
  6. add_test(NAME WorkingDirectory0 COMMAND WorkingDirectory "${CMAKE_BINARY_DIR}")
  7. add_test(NAME WorkingDirectory1 COMMAND WorkingDirectory "${CMAKE_BINARY_DIR}")
  8. set_tests_properties(WorkingDirectory1 PROPERTIES
  9. WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
  10. )
  11. string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_BINARY_DIR}")
  12. add_test(NAME WorkingDirectory2 COMMAND WorkingDirectory "${_parent_dir}")
  13. set_tests_properties(WorkingDirectory2 PROPERTIES
  14. WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/.."
  15. )
  16. set(_default_cwd "${CMAKE_BINARY_DIR}")
  17. # FIXME: How to deal with /debug, /release, etc. with VS or Xcode?
  18. if(${CMAKE_GENERATOR} MATCHES "Makefiles")
  19. add_test(WorkingDirectory3 ${EXECUTABLE_OUTPUT_PATH}/WorkingDirectory ${_default_cwd})
  20. endif()
  21. add_test(NAME WorkingDirectory4 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND WorkingDirectory ${CMAKE_BINARY_DIR})
  22. string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_BINARY_DIR}")
  23. add_test(NAME WorkingDirectory5 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/.. COMMAND WorkingDirectory ${_parent_dir})
  24. # FIXME: How to deal with /debug, /release, etc. with VS or Xcode?
  25. if(${CMAKE_GENERATOR} MATCHES "Makefiles")
  26. add_test(WorkingDirectory6 ${EXECUTABLE_OUTPUT_PATH}/WorkingDirectory ${_default_cwd} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..)
  27. endif()
  28. add_subdirectory(subdir)