39 lines
943 B
CMake
39 lines
943 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
# define project metadata
|
|
|
|
project(lab6 LANGUAGES C CXX
|
|
DESCRIPTION "lab6"
|
|
HOMEPAGE_URL "https://sgit.iue.tuwien.ac.at/360050/lab6")
|
|
|
|
# setting required language standards
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED True)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
# misc settings
|
|
|
|
# generate a compile_commands.json
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
# make all symbols visible on windows (which is default on unix)
|
|
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
|
|
|
# find math library and link to all targets
|
|
|
|
find_library(MATH_LIBRARY m)
|
|
link_libraries(${MATH_LIBRARY})
|
|
|
|
# global includes
|
|
|
|
include_directories(modules)
|
|
include_directories(eigen)
|
|
|
|
# include own targets
|
|
|
|
add_executable(taskB taskB.cpp)
|