-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
43 lines (35 loc) · 1.46 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
# Throw a fatal error if version is < 3.6.
cmake_minimum_required (VERSION 3.6 FATAL_ERROR)
# Variables used to represent the version.
set (DATASTRUCT_PROJECT_NAME C-DataStructures)
set (DATASTRUCT_VERSION_MAJOR 5)
set (DATASTRUCT_VERSION_MINOR 0)
set (DATASTRUCT_VERSION_PATCH 0)
set (DATASTRUCT_VERSION_STR "${DATASTRUCT_VERSION_MAJOR}.${DATASTRUCT_VERSION_MINOR}.${DATASTRUCT_VERSION_PATCH}")
# Build type.
set (CMAKE_BUILD_TYPE Release)
# Set the project source dir (just convention)
set (DATASTRUCT_SOURCE_DIR src)
set (DATASTRUCT_INCLUDE_DIR include)
set (DATASTRUCT_TOOLS_DIR ${DATASTRUCT_SOURCE_DIR}/tools)
# Source files for compiling.
set (DATASTRUCT_SOURCES
${DATASTRUCT_SOURCE_DIR}/Dictionary.c
${DATASTRUCT_SOURCE_DIR}/HashTable.c
${DATASTRUCT_SOURCE_DIR}/LinkedList.c
${DATASTRUCT_SOURCE_DIR}/Vector.c
${DATASTRUCT_TOOLS_DIR}/IO.c
${DATASTRUCT_TOOLS_DIR}/Math.c
${DATASTRUCT_TOOLS_DIR}/Memory.c
${DATASTRUCT_TOOLS_DIR}/Stopwatch.c
${DATASTRUCT_TOOLS_DIR}/Synchronize.c)
# Send the variables (version number) to source code header
set (DATASTRUCT_CONFIG_FILE Config.h)
configure_file (
"${DATASTRUCT_CONFIG_FILE}.in"
"${DATASTRUCT_INCLUDE_DIR}/${DATASTRUCT_CONFIG_FILE}")
# Project setup.
project(${DATASTRUCT_PROJECT_NAME} C)
# Add the library to be linked.
add_library(${DATASTRUCT_PROJECT_NAME} STATIC ${DATASTRUCT_SOURCES})
target_link_libraries(${DATASTRUCT_PROJECT_NAME} C-Random)