@@ -3,30 +3,51 @@ cmake_policy(VERSION 3.24)
33
44project (Traits VERSION 0.0.1 LANGUAGES CXX)
55
6- set (CMAKE_CXX_STANDARD 20)
7- set (CMAKE_CXX_STANDARD_REQUIRED ON )
8-
96add_library (traits INTERFACE )
107add_library (Traits::traits ALIAS traits)
118target_compile_features (traits INTERFACE cxx_std_20)
129target_include_directories (traits INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>" )
1310
14- if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR )
15-
16- option (TRAITS_BUILD_TESTS "whether or not tests should be built" ON )
11+ if (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR )
12+ return ()
13+ endif ( )
1714
18- if (TRAITS_BUILD_TESTS)
19- enable_testing ()
20- add_subdirectory (tests)
21- endif ()
15+ # install(TARGETS ${PROJECT_NAME}
16+ # EXPORT ${PROJECT_NAME}-targets
17+ # INCLUDES DESTINATION include
18+ # )
19+ # install(EXPORT ${PROJECT_NAME}-targets
20+ # FILE ${PROJECT_NAME}-targets.cmake
21+ # NAMESPACE Traits::
22+ # DESTINATION lib/cmake/traits
23+ # )
24+
25+ # install(FILES cmake/traits-config.cmake DESTINATION lib/cmake/traits)
26+ # install(FILES include/traits.h DESTINATION include)
27+
28+ option (TRAITS_BUILD_EXAMPLES "whether or not examples should be built" ON )
29+ option (TRAITS_BUILD_TESTS "whether or not tests should be built" ON )
30+
31+ if (TRAITS_BUILD_EXAMPLES OR TRAITS_BUILD_TESTS)
32+ enable_testing ()
33+ add_custom_target (check COMMENT "build and run tests and examples" )
34+ endif ()
2235
23- set (package_files examples/ include / tests/ CMakeLists.txt LICENSE README.md )
24- add_custom_command (
25- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip
26- COMMAND ${CMAKE_COMMAND} -E tar c ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip --format=zip -- ${package_files}
27- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
28- DEPENDS ${package_files}
29- )
30- add_custom_target (${PROJECT_NAME} _package DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip)
36+ if (TRAITS_BUILD_EXAMPLES)
37+ add_subdirectory (examples)
38+ add_dependencies (check examples)
39+ endif ()
3140
41+ if (TRAITS_BUILD_TESTS)
42+ add_subdirectory (tests)
43+ add_dependencies (check tests)
3244endif ()
45+
46+ set (package_files examples/ include / tests/ CMakeLists.txt LICENSE README.md )
47+ add_custom_command (
48+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip
49+ COMMAND ${CMAKE_COMMAND} -E tar c ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip --format=zip -- ${package_files}
50+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
51+ DEPENDS ${package_files}
52+ )
53+ add_custom_target (${PROJECT_NAME} _package DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -src.zip)
0 commit comments