diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/CMakeLists.txt | 19 | 
1 files changed, 16 insertions, 3 deletions
| diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 6270ae5..0f72001 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -3,6 +3,7 @@ project(pugixml)  cmake_minimum_required(VERSION 2.6)  option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) +option(BUILD_TESTS "Build tests" OFF)  set(BUILD_DEFINES "" CACHE STRING "Build defines")  # Pre-defines standard install locations on *nix systems. @@ -13,13 +14,15 @@ set(HEADERS ../src/pugixml.hpp ../src/pugiconfig.hpp)  set(SOURCES ${HEADERS} ../src/pugixml.cpp)  if(DEFINED BUILD_DEFINES) -	add_definitions(${BUILD_DEFINES}) +	foreach(DEFINE ${BUILD_DEFINES}) +		add_definitions("-D" ${DEFINE}) +	endforeach()  endif()  if(BUILD_SHARED_LIBS) -    add_library(pugixml SHARED ${SOURCES}) +	add_library(pugixml SHARED ${SOURCES})  else() -    add_library(pugixml STATIC ${SOURCES}) +	add_library(pugixml STATIC ${SOURCES})  endif()  set_target_properties(pugixml PROPERTIES VERSION 1.6 SOVERSION 1) @@ -32,3 +35,13 @@ install(TARGETS pugixml EXPORT pugixml-config  install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})  install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml) + +if(BUILD_TESTS) +	file(GLOB TEST_SOURCES ../tests/*.cpp) +	file(GLOB FUZZ_SOURCES ../tests/fuzz_*.cpp) +	list(REMOVE_ITEM TEST_SOURCES ${FUZZ_SOURCES}) + +	add_executable(check ${TEST_SOURCES}) +	target_link_libraries(check pugixml) +	add_custom_command(TARGET check POST_BUILD COMMAND check WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..) +endif()
\ No newline at end of file | 
