summaryrefslogblamecommitdiffstats
path: root/CMakeLists.txt
blob: 5a4192add5b991fd1a2bbef5dadac578e74adfb7 (plain) (tree)
1
2
3
4
5
6
7
8

                                     
 

                
 
                                                                                                  
 


                                             
 
                             
                             
 






                                                                             








                                                                                
 







                                                                                  
         
 
                                     
cmake_minimum_required(VERSION 3.0.0)
project(Betriebsysteme VERSION 0.1.0)

include(CTest)
enable_testing()

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/externals/sanitizers-cmake/cmake" ${CMAKE_MODULE_PATH})

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

add_subdirectory(02_exercise)
add_subdirectory(03_exercise)

set(CLANG_WARNINGS
        -Wall
        -Wextra # reasonable and standard
        -Wshadow # warn the user if a variable declaration shadows one from a
        # parent context
        -Wcast-align # warn for potential performance problem casts
        -Wunused # warn on anything being unused
        -Wpedantic # warn if non-standard C++ is used
        -Wconversion # warn on type conversions that may lose data
        -Wsign-conversion # warn on sign conversions
        -Wnull-dereference # warn if a null dereference is detected
        -Wdouble-promotion # warn if float is implicit promoted to double
        -Wformat=2 # warn on security issues around functions that format output
        # (ie printf)
        -Werror
        )

set(GCC_WARNINGS
        ${CLANG_WARNINGS}
        -Wmisleading-indentation # warn if indentation implies blocks where blocks
        # do not exist
        -Wduplicated-cond # warn if if / else chain has duplicated conditions
        -Wduplicated-branches # warn if if / else branches have duplicated code
        -Wlogical-op # warn about logical operations being used where bitwise were
        # probably wanted
        )

set(PROJECT_WARNINGS ${GCC_WARNINGS})