44 lines
1.4 KiB
CMake
44 lines
1.4 KiB
CMake
# Copyright 2021-2022 Alexander Grund
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# https://www.boost.org/LICENSE_1_0.txt
|
|
|
|
function(boost_locale_add_example name)
|
|
cmake_parse_arguments(PARSE_ARGV 1 ARG "COMPILE_ONLY" "SRC;WORKING_DIRECTORY" "ARGS")
|
|
|
|
if(NOT ARG_SRC)
|
|
set(ARG_SRC ${name}.cpp)
|
|
endif()
|
|
set(name ${PROJECT_NAME}-expl_${name})
|
|
|
|
add_executable(${name} ${ARG_SRC})
|
|
add_dependencies(tests ${name})
|
|
target_link_libraries(${name} PRIVATE
|
|
Boost::locale
|
|
Boost::algorithm
|
|
)
|
|
|
|
if(ARG_WORKING_DIRECTORY)
|
|
set_target_properties(${name} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${ARG_WORKING_DIRECTORY}")
|
|
endif()
|
|
|
|
if(NOT ARG_COMPILE_ONLY)
|
|
add_test(NAME ${name} COMMAND ${name} ${ARG_ARGS})
|
|
if(ARG_WORKING_DIRECTORY)
|
|
set_tests_properties(${name} PROPERTIES WORKING_DIRECTORY "${ARG_WORKING_DIRECTORY}")
|
|
endif()
|
|
endif()
|
|
endfunction()
|
|
|
|
boost_locale_add_example(boundary)
|
|
boost_locale_add_example(calendar)
|
|
boost_locale_add_example(collate COMPILE_ONLY)
|
|
boost_locale_add_example(conversions)
|
|
boost_locale_add_example(hello)
|
|
boost_locale_add_example(wboundary)
|
|
boost_locale_add_example(wconversions)
|
|
boost_locale_add_example(whello)
|
|
|
|
boost_locale_add_example(perf_collate SRC performance/perf_collate.cpp COMPILE_ONLY)
|
|
boost_locale_add_example(perf_convert SRC performance/perf_convert.cpp COMPILE_ONLY)
|
|
boost_locale_add_example(perf_format SRC performance/perf_format.cpp COMPILE_ONLY)
|