From 66e986572d65e622e78190aa971313ed7e3c8b9b Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 6 Jan 2026 14:19:58 +0100 Subject: build: clean up configuration --- cmake/Modules/AddExample.cmake | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 cmake/Modules/AddExample.cmake (limited to 'cmake') diff --git a/cmake/Modules/AddExample.cmake b/cmake/Modules/AddExample.cmake new file mode 100644 index 0000000..e5a78e6 --- /dev/null +++ b/cmake/Modules/AddExample.cmake @@ -0,0 +1,25 @@ +function(newtype_add_example SOURCE_FILE) + get_filename_component(NAME "${SOURCE_FILE}" NAME_WE) + + add_executable("ex_${NAME}") + + target_sources("ex_${NAME}" PRIVATE + ${SOURCE_FILE} + ) + + target_link_libraries("ex_${NAME}" PRIVATE + "newtype::lib" + ) + + target_compile_options("ex_${NAME}" PRIVATE + "$<$:-Wall>" + "$<$:-Wextra>" + "$<$:-Werror>" + "$<$:-pedantic-errors>" + ) + + set_target_properties("ex_${NAME}" PROPERTIES + CMAKE_CXX_EXTENSIONS OFF + CMAKE_CXX_STANDARD_REQUIRED YES + ) +endfunction() -- cgit v1.2.3