aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaylor C. Richberger <taywee@gmx.com>2018-06-18 16:55:26 -0600
committerGitHub <noreply@github.com>2018-06-18 16:55:26 -0600
commit3de44ec671db452cc0c4ef86399b108939768abb (patch)
treeb2e4d3047d54c2fad87c94e151519ee5532211b8
parentMerge pull request #62 from pavel-belikov/fix-windows-minmax (diff)
parentcmake: make unittests build optional (diff)
downloadargs.hxx-3de44ec671db452cc0c4ef86399b108939768abb.tar.xz
Merge pull request #64 from milipili/optional-cmake-tests
Optional build for examples and unittests
-rw-r--r--CMakeLists.txt53
1 files changed, 30 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f17cab..c59cfa9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,36 +22,43 @@
cmake_minimum_required(VERSION 3.2)
project(args CXX)
+option(ARGS_BUILD_EXAMPLE "Build example" ON)
+option(ARGS_BUILD_UNITTESTS "Build unittests" ON)
+
add_library(args INTERFACE)
target_include_directories(args INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}")
-add_executable(argstest test.cxx)
-target_link_libraries(argstest args)
-set_property(TARGET argstest PROPERTY CXX_STANDARD 11)
+if (ARGS_BUILD_EXAMPLE)
+ add_executable(gitlike examples/gitlike.cxx)
+ target_link_libraries(gitlike args)
+ set_property(TARGET gitlike PROPERTY CXX_STANDARD 11)
-if (MSVC)
- target_compile_options(argstest PRIVATE /W4 /WX /bigobj)
-else ()
- target_compile_options(argstest PRIVATE -Wall -Wextra -Werror -pedantic -Wshadow -Wunused-parameter)
-endif ()
+ add_executable(completion examples/completion.cxx)
+ target_link_libraries(completion args)
+ set_property(TARGET completion PROPERTY CXX_STANDARD 11)
+endif()
-add_executable(argstest-multiple-inclusion test/multiple_inclusion_1.cxx test/multiple_inclusion_2.cxx)
+if (ARGS_BUILD_UNITTESTS)
+ add_executable(argstest test.cxx)
+ target_link_libraries(argstest args)
+ set_property(TARGET argstest PROPERTY CXX_STANDARD 11)
-target_link_libraries(argstest-multiple-inclusion args)
-set_property(TARGET argstest-multiple-inclusion PROPERTY CXX_STANDARD 11)
+ if (MSVC)
+ target_compile_options(argstest PRIVATE /W4 /WX /bigobj)
+ else ()
+ target_compile_options(argstest PRIVATE -Wall -Wextra -Werror -pedantic -Wshadow -Wunused-parameter)
+ endif ()
-add_executable(gitlike examples/gitlike.cxx)
-target_link_libraries(gitlike args)
-set_property(TARGET gitlike PROPERTY CXX_STANDARD 11)
+ add_executable(argstest-multiple-inclusion test/multiple_inclusion_1.cxx test/multiple_inclusion_2.cxx)
-add_executable(argstest-windows-h test/windows_h.cxx)
-target_link_libraries(argstest-windows-h args)
-set_property(TARGET argstest-windows-h PROPERTY CXX_STANDARD 11)
+ target_link_libraries(argstest-multiple-inclusion args)
+ set_property(TARGET argstest-multiple-inclusion PROPERTY CXX_STANDARD 11)
-add_executable(completion examples/completion.cxx)
-target_link_libraries(completion args)
-set_property(TARGET completion PROPERTY CXX_STANDARD 11)
+ add_executable(argstest-windows-h test/windows_h.cxx)
+ target_link_libraries(argstest-windows-h args)
+ set_property(TARGET argstest-windows-h PROPERTY CXX_STANDARD 11)
-enable_testing()
-add_test(NAME "test" COMMAND argstest)
-add_test(NAME "test-multiple-inclusion" COMMAND argstest-multiple-inclusion)
+ enable_testing()
+ add_test(NAME "test" COMMAND argstest)
+ add_test(NAME "test-multiple-inclusion" COMMAND argstest-multiple-inclusion)
+endif()