Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ if (NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
MultiThreaded$<$<CONFIG:Debug>:Debug>$<${msvc-shared_rt}:DLL>)
endif()

file(GLOB yaml-cpp-contrib-sources CONFIGURE_DEPENDS "src/contrib/*.cpp")
file(GLOB yaml-cpp-sources CONFIGURE_DEPENDS "src/*.cpp")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/yaml-cpp-sources.cmake")

set(msvc-rt $<TARGET_PROPERTY:MSVC_RUNTIME_LIBRARY>)

Expand Down
35 changes: 35 additions & 0 deletions cmake/yaml-cpp-sources.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
set(yaml-cpp-contrib-sources
src/contrib/graphbuilder.cpp
src/contrib/graphbuilderadapter.cpp)

set(yaml-cpp-sources
src/binary.cpp
src/convert.cpp
src/depthguard.cpp
src/directives.cpp
src/emit.cpp
src/emitfromevents.cpp
src/emitter.cpp
src/emitterstate.cpp
src/emitterutils.cpp
src/exceptions.cpp
src/exp.cpp
src/fptostring.cpp
src/memory.cpp
src/node.cpp
src/node_data.cpp
src/nodebuilder.cpp
src/nodeevents.cpp
src/null.cpp
src/ostream_wrapper.cpp
src/parse.cpp
src/parser.cpp
src/regex_yaml.cpp
src/scanner.cpp
src/scanscalar.cpp
src/scantag.cpp
src/scantoken.cpp
src/simplekey.cpp
src/singledocparser.cpp
src/stream.cpp
src/tag.cpp)
5 changes: 5 additions & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ endif()


add_test(NAME yaml-cpp::test COMMAND yaml-cpp-tests)
add_test(
NAME yaml-cpp::source-list
COMMAND ${CMAKE_COMMAND}
-D YAML_CPP_SOURCE_DIR=${PROJECT_SOURCE_DIR}
-P ${PROJECT_SOURCE_DIR}/test/cmake/verify-source-list.cmake)

if (build-windows-dll)
add_custom_command(
Expand Down
21 changes: 21 additions & 0 deletions test/cmake/verify-source-list.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
include("${YAML_CPP_SOURCE_DIR}/cmake/yaml-cpp-sources.cmake")

file(GLOB actual_sources
LIST_DIRECTORIES false
RELATIVE "${YAML_CPP_SOURCE_DIR}"
"${YAML_CPP_SOURCE_DIR}/src/*.cpp"
"${YAML_CPP_SOURCE_DIR}/src/contrib/*.cpp")

set(expected_sources
${yaml-cpp-contrib-sources}
${yaml-cpp-sources})

list(SORT actual_sources)
list(SORT expected_sources)

if(NOT "${actual_sources}" STREQUAL "${expected_sources}")
message(FATAL_ERROR
"yaml-cpp source list is out of date.\n"
"Expected: ${expected_sources}\n"
"Actual: ${actual_sources}")
endif()