@@ -6,14 +6,14 @@ project(c_traceback
66 DESCRIPTION "Colorful, lightweight tracebacks in C"
77)
88
9- # --- Dependencies & Modules ---
9+ ### Dependencies & Modules ###
1010include (GNUInstallDirs )
1111
12- # --- Options ---
12+ ### Options ###
1313option (ENABLE_SANITIZERS "Enable address and undefined sanitizers" OFF )
1414option (BUILD_EXAMPLES "Build example executables" OFF )
1515
16- # --- Library ---
16+ ### Library ###
1717add_library (c_traceback STATIC
1818 src/error.c
1919 src/error_codes.c
@@ -25,14 +25,14 @@ add_library(c_traceback STATIC
2525)
2626add_library (c_traceback::c_traceback ALIAS c_traceback )
2727
28- # --- Standard (c99) ---
28+ ### Standard (c99) ###
2929set_target_properties (c_traceback PROPERTIES
3030 C_STANDARD 99
3131 C_STANDARD_REQUIRED ON
3232 POSITION_INDEPENDENT_CODE ON
3333)
3434
35- # --- Includes ---
35+ ### Includes ###
3636target_include_directories (c_traceback
3737 PUBLIC
3838 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} /include >
@@ -41,7 +41,7 @@ target_include_directories(c_traceback
4141 ${CMAKE_CURRENT_SOURCE_DIR} /src/internal
4242)
4343
44- # --- Warnings ---
44+ ### Warnings ###
4545if (MSVC )
4646 target_compile_options (c_traceback PRIVATE /W4 )
4747else ()
@@ -51,18 +51,18 @@ else()
5151 )
5252endif ()
5353
54- # --- Sanitizers ---
54+ ### Sanitizers ###
5555if (ENABLE_SANITIZERS)
5656 if (NOT MSVC )
5757 target_compile_options (c_traceback PRIVATE -fsanitize=address,undefined )
5858 target_link_options (c_traceback PRIVATE -fsanitize=address,undefined )
5959 endif ()
6060endif ()
6161
62- # --- Definitions ---
62+ ### Definitions ###
6363target_compile_definitions (c_traceback PRIVATE CTB_VERSION= "${PROJECT_VERSION} " )
6464
65- # --- Installation ---
65+ ### Installation ###
6666if (PROJECT_IS_TOP_LEVEL)
6767 include (CMakePackageConfigHelpers )
6868
@@ -78,7 +78,7 @@ if(PROJECT_IS_TOP_LEVEL)
7878 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
7979 )
8080
81- # --- Package config & version ---
81+ ### Package config & version ###
8282 write_basic_package_version_file (
8383 "${CMAKE_CURRENT_BINARY_DIR} /c_tracebackConfigVersion.cmake"
8484 VERSION ${PROJECT_VERSION}
@@ -97,7 +97,7 @@ if(PROJECT_IS_TOP_LEVEL)
9797 INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/c_traceback"
9898 )
9999
100- # --- Export targets / install cmake files ---
100+ ### Export targets / install cmake files ###
101101 install (EXPORT c_tracebackTargets
102102 FILE c_tracebackTargets.cmake
103103 NAMESPACE c_traceback::
@@ -110,13 +110,17 @@ if(PROJECT_IS_TOP_LEVEL)
110110 DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/c_traceback
111111 )
112112
113- # --- Build Examples ---
113+ ### Build Examples ###
114114 if (BUILD_EXAMPLES)
115- enable_testing ()
116-
117115 if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR} /examples/CMakeLists.txt" )
118116 add_subdirectory (examples )
119117 endif ()
120118 endif ()
121119
122- endif ()
120+ endif ()
121+
122+ ### Testing ###
123+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR} /tests/CMakeLists.txt" )
124+ enable_testing ()
125+ add_subdirectory (tests )
126+ endif ()
0 commit comments