cmake/Tests/CMakeLib/CMakeLists.txt

125 lines
3.9 KiB
CMake
Raw Normal View History

2024-11-11 15:18:55 +01:00
# Render the header file with source path macro
configure_file(testConfig.h.in testConfig.h @ONLY)
2010-03-17 14:00:29 +02:00
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMake_BINARY_DIR}/Source
${CMake_SOURCE_DIR}/Source
2020-02-01 23:06:01 +01:00
${CMake_SOURCE_DIR}/Source/CTest
2010-03-17 14:00:29 +02:00
)
set(CMakeLib_TESTS
2024-11-11 15:18:55 +01:00
testAssert.cxx
2019-11-11 23:01:05 +01:00
testArgumentParser.cxx
2020-02-01 23:06:01 +01:00
testCTestBinPacker.cxx
testCTestResourceAllocator.cxx
testCTestResourceSpec.cxx
testCTestResourceGroups.cxx
2023-12-07 09:12:54 +01:00
testDebug.cxx
2020-08-30 11:54:41 +02:00
testGccDepfileReader.cxx
2018-04-23 21:13:27 +02:00
testGeneratedFileStream.cxx
2021-09-14 00:13:48 +02:00
testJSONHelpers.cxx
2018-04-23 21:13:27 +02:00
testRST.cxx
2019-11-11 23:01:05 +01:00
testRange.cxx
2020-02-01 23:06:01 +01:00
testOptional.cxx
2019-11-11 23:01:05 +01:00
testString.cxx
2020-02-01 23:06:01 +01:00
testStringAlgorithms.cxx
2018-04-23 21:13:27 +02:00
testSystemTools.cxx
testUTF8.cxx
testXMLParser.cxx
testXMLSafe.cxx
testFindPackageCommand.cxx
2024-04-14 22:45:38 +02:00
testUVHandlePtr.cxx
testUVJobServerClient.cxx
2019-11-11 23:01:05 +01:00
testUVProcessChain.cxx
2018-04-23 21:13:27 +02:00
testUVRAII.cxx
2019-11-11 23:01:05 +01:00
testUVStreambuf.cxx
2020-08-30 11:54:41 +02:00
testCMExtMemory.cxx
testCMExtAlgorithm.cxx
2022-08-04 22:12:04 +02:00
testCMExtEnumSet.cxx
2023-07-02 19:51:09 +02:00
testList.cxx
2023-12-07 09:12:54 +01:00
testCMakePath.cxx
2010-03-17 14:00:29 +02:00
)
2023-07-02 19:51:09 +02:00
if(CMake_ENABLE_DEBUGGER)
list(APPEND CMakeLib_TESTS
testDebuggerAdapter.cxx
testDebuggerAdapterPipe.cxx
testDebuggerBreakpointManager.cxx
testDebuggerVariables.cxx
testDebuggerVariablesHelper.cxx
testDebuggerVariablesManager.cxx
2024-04-14 22:45:38 +02:00
testDebuggerThread.cxx
2023-07-02 19:51:09 +02:00
)
endif()
2021-09-14 00:13:48 +02:00
if (CMake_TEST_FILESYSTEM_PATH OR NOT CMake_HAVE_CXX_FILESYSTEM)
list(APPEND CMakeLib_TESTS testCMFilesystemPath.cxx)
endif()
2010-03-17 14:00:29 +02:00
2019-11-11 23:01:05 +01:00
add_executable(testUVProcessChainHelper testUVProcessChainHelper.cxx)
2023-07-02 19:51:09 +02:00
target_link_libraries(testUVProcessChainHelper CMakeLib)
2024-07-09 14:46:46 +02:00
target_compile_definitions(testUVProcessChainHelper PRIVATE WIN32_LEAN_AND_MEAN)
2019-11-11 23:01:05 +01:00
2015-04-27 22:25:09 +02:00
set(testRST_ARGS ${CMAKE_CURRENT_SOURCE_DIR})
2019-11-11 23:01:05 +01:00
set(testUVProcessChain_ARGS $<TARGET_FILE:testUVProcessChainHelper>)
set(testUVStreambuf_ARGS $<TARGET_FILE:cmake>)
2020-02-01 23:06:01 +01:00
set(testCTestResourceSpec_ARGS ${CMAKE_CURRENT_SOURCE_DIR})
2020-08-30 11:54:41 +02:00
set(testGccDepfileReader_ARGS ${CMAKE_CURRENT_SOURCE_DIR})
2015-04-27 22:25:09 +02:00
2014-08-03 19:52:23 +02:00
if(WIN32)
2013-11-03 12:27:13 +02:00
list(APPEND CMakeLib_TESTS
2018-04-23 21:13:27 +02:00
testVisualStudioSlnParser.cxx
2013-11-03 12:27:13 +02:00
)
endif()
2023-12-07 09:12:54 +01:00
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/testUVProcessChainInput.txt" "HELLO WORLD!")
2010-03-17 14:00:29 +02:00
create_test_sourcelist(CMakeLib_TEST_SRCS CMakeLibTests.cxx ${CMakeLib_TESTS})
add_executable(CMakeLibTests ${CMakeLib_TEST_SRCS})
2023-12-07 09:12:54 +01:00
target_link_libraries(CMakeLibTests PRIVATE CTestLib CMakeLib)
if(CMake_BUILD_PCH)
target_precompile_headers(CMakeLibTests PRIVATE "<iostream>" "<cm3p/uv.h>")
target_compile_definitions(CMakeLibTests PRIVATE "NOMINMAX")
endif()
if(WIN32)
target_compile_definitions(CMakeLibTests PRIVATE WIN32_LEAN_AND_MEAN)
endif()
2010-03-17 14:00:29 +02:00
2018-04-23 21:13:27 +02:00
set_property(TARGET CMakeLibTests PROPERTY C_CLANG_TIDY "")
set_property(TARGET CMakeLibTests PROPERTY CXX_CLANG_TIDY "")
2017-04-14 19:02:05 +02:00
add_executable(testEncoding testEncoding.cxx)
target_link_libraries(testEncoding cmsys)
2018-04-23 21:13:27 +02:00
foreach(testfile ${CMakeLib_TESTS})
get_filename_component(test "${testfile}" NAME_WE)
2019-11-11 23:01:05 +01:00
add_test(NAME CMakeLib.${test} COMMAND CMakeLibTests ${test} ${${test}_ARGS})
2010-03-17 14:00:29 +02:00
endforeach()
2011-06-19 15:41:06 +03:00
if(TEST_CompileCommandOutput)
add_executable(runcompilecommands run_compile_commands.cxx)
target_link_libraries(runcompilecommands CMakeLib)
endif()
2015-04-27 22:25:09 +02:00
add_subdirectory(PseudoMemcheck)
2018-08-09 18:06:22 +02:00
add_executable(testAffinity testAffinity.cxx)
target_link_libraries(testAffinity CMakeLib)
2023-07-02 19:51:09 +02:00
if(CMake_ENABLE_DEBUGGER)
add_executable(testDebuggerNamedPipe testDebuggerNamedPipe.cxx)
target_link_libraries(testDebuggerNamedPipe PRIVATE CMakeLib)
set(testDebuggerNamedPipe_Project_ARGS
"$<TARGET_FILE:cmake>" ${CMAKE_CURRENT_SOURCE_DIR}/DebuggerSample ${CMAKE_CURRENT_BINARY_DIR}/DebuggerSample
)
set(testDebuggerNamedPipe_Script_ARGS
"$<TARGET_FILE:cmake>" ${CMAKE_CURRENT_SOURCE_DIR}/DebuggerSample/script.cmake
)
foreach(case Project Script)
add_test(NAME CMakeLib.testDebuggerNamedPipe-${case} COMMAND testDebuggerNamedPipe ${testDebuggerNamedPipe_${case}_ARGS})
set_property(TEST CMakeLib.testDebuggerNamedPipe-${case} PROPERTY TIMEOUT 300)
endforeach()
2023-12-07 09:12:54 +01:00
if(WIN32)
target_compile_definitions(testDebuggerNamedPipe PRIVATE WIN32_LEAN_AND_MEAN)
endif()
2023-07-02 19:51:09 +02:00
endif()