-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
44 lines (35 loc) · 1.65 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# K k
cmake_minimum_required (VERSION 3.26.4)
project (mltcrd VERSION 1.0.0)
###############################################################################
# System-wide includes
###############################################################################
include (GNUInstallDirs)
if (NOT CMAKE_BUILD_TYPE)
set (
CMAKE_BUILD_TYPE "Release"
CACHE STRING "Build type (Debug / Release)"
FORCE
)
endif ()
###############################################################################
# Variables
###############################################################################
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Og -DDEBUG")
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror")
set (CMAKE_VERBOSE_MAKEFILE ON)
set (MLTCRD_SRC_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
set (MLTCRD_INCLUDE_DIRECTORY ${PROJECT_SOURCE_DIR}/include)
set (MLTCRD_SHARED_INSTALL_DIRECTORY ${CMAKE_INSTALL_FULL_LIBDIR})
set (MLTCRD_HEADER_INSTALL_DIRECTORY ${CMAKE_INSTALL_FULL_INCLUDEDIR}/${PROJECT_NAME})
###############################################################################
# Traverse subdirectories
###############################################################################
add_subdirectory (${MLTCRD_SRC_DIRECTORY})
add_subdirectory (${MLTCRD_INCLUDE_DIRECTORY})
###############################################################################
# Generate and install pkg-config file
###############################################################################
# TODO