cmake_cpputest_template/CMakeLists.txt

56 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.20)
# Use the fancy version substitution
project(cmake-cpputest-template
VERSION 1.0
DESCRIPTION "template for cmake + cpputest"
LANGUAGES C CXX
)
enable_testing()
set(TARGET_GROUP production CACHE STRING "Group to build")
if(MSVC OR MSYS OR MINGW)
message("### SETUP FOR WINDOWS ###")
add_definitions(-DWINDOWS)
else()
message("### SETUP FOR UNIX ###")
add_definitions(-DUNIX)
endif()
# For being able to used LSP
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Request C 11 standard features
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED True)
set(CMAKE_C_FLAGS "-Wall -Werror -Wpedantic")
# SETUP THE CXX flags for .cpp
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_CXX_FLAGS "-Wall -Werror -Wpedantic")
# #######################################
# TESTING STUFF
# #######################################
# find_library()
set(CPPUTEST_DIR "./cpputest/include")
if (UNIT_TESTING)
include_directories(
${CPPUTEST_DIR}/CppUTest
${CPPUTEST_DIR}/CppUTestExt
)
message(STATUS "CPPUTEST_DIR: ${CPPUTEST_DIR}")
add_subdirectory(tests)
endif()
# #######################################
# PROJECT SPECIFIC
# #######################################
add_subdirectory(src)