-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathCMakeLists.txt
126 lines (91 loc) · 2.1 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# CMake entry point.
cmake_minimum_required (VERSION 2.6)
project (MUSIC_VISUALIZER_REBOOTED)
find_library(DFT
NAMES
fftw3
PATHS
/usr/lib
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
/usr/local/lib
)
find_library(MATH_L
NAMES
m
PATHS
/usr/lib
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
/usr/local/lib
)
find_library(THREAD_L
NAMES
pthread
PATHS
/usr/lib
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
/usr/local/lib
)
find_library(SDL
NAMES
SDL2
PATHS
/usr/lib
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
/usr/local/lib
)
message(${CMAKE_LIBRARY_ARCHITECTURE})
if(MATH_L)
message(${MATH_L})
endif(MATH_L)
if(SDL)
message(${SDL})
endif(SDL)
if(DFT)
message(${DFT})
endif(DFT)
#include_directories(
# include
# )
file(GLOB SOURCES *.c)
file(GLOB INCLUDES *.h)
##list command line warnings
set(WARNINGS
-Wall -Wextra -Wpedantic -Wformat=2
-Wno-unused-parameter -Wshadow -Wwrite-strings
-Wredundant-decls -Wmissing-include-dirs
)
## compile for DEBUGGING:
## NOTE: This works also: set(CMAKE_CXX_FLAGS "-ggdb")
## List libraries
set(ALL_LIBS
${MATH_L}
${DFT}
${SDL}
${THREAD_L}
${WARNINGS}
)
##Output Assembly
#set_property(SOURCE ${MY_SOURCE_FILES} PROPERTY COMPILE_FLAGS -save-temps)
##Link files and libraries to executable
set(binary_name "visual.exe")
add_executable(${binary_name}
${SOURCES} ${INCLUDES}
)
target_link_libraries(${binary_name}
${ALL_LIBS}
)
## Optimize and dubug enabled if GNU compiler
if(CMAKE_COMPILER_IS_GNUCC)
message("Optimize and debug enabled!")
set(CMAKE_CXX_FLAGS "-O0 -fbuiltin -g -std=c++11")
set(CMAKE_C_FLAGS "-fbuiltin -g -std=c99")
endif(CMAKE_COMPILER_IS_GNUCC)
# HOW-TO. You can safely remove anything below.
# test if linux, mac or windows :
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message("You're on Mac OS !")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
message("You're on Linux !")
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
message("You're on Windows !")
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # Yes this is weird but you have to repeat the "if" here.