diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-01-06 14:19:58 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-01-06 14:19:58 +0100 |
| commit | 66e986572d65e622e78190aa971313ed7e3c8b9b (patch) | |
| tree | d3bcdaf2eeb66da2d3898e037224c99c3ad426c1 /cmake/Modules | |
| parent | d9ab9b52be6950f5429d9b9b4d3596599f53449d (diff) | |
| download | newtype-develop.tar.xz newtype-develop.zip | |
Diffstat (limited to 'cmake/Modules')
| -rw-r--r-- | cmake/Modules/AddExample.cmake | 25 |
1 files changed, 25 insertions, 0 deletions
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 + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wall>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wextra>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-Werror>" + "$<$<CXX_COMPILER_ID:GNU,Clang>:-pedantic-errors>" + ) + + set_target_properties("ex_${NAME}" PROPERTIES + CMAKE_CXX_EXTENSIONS OFF + CMAKE_CXX_STANDARD_REQUIRED YES + ) +endfunction() |
