-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
57 lines (47 loc) · 1.47 KB
/
CMakeLists.txt
File metadata and controls
57 lines (47 loc) · 1.47 KB
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
#Specify the version being used aswell as the language
cmake_minimum_required(VERSION 3.19)
#Name your project here
project(materialab LANGUAGES CXX)
#set the module directory
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}")
set(CMAKE_CXX_STANDARD 20)
find_package(OpenGL REQUIRED)
find_package(glfw3 CONFIG REQUIRED)
find_package(glm CONFIG REQUIRED)
find_package(imgui CONFIG REQUIRED core glfw-binding opengl3-binding)
find_package(GLEW REQUIRED)
find_package(TIRA REQUIRED)
#build the executable in the binary directory on MS Visual Studio
if ( MSVC )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${OUTPUT_DIRECTORY}")
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${OUTPUT_DIRECTORY}")
SET( LIBRARY_OUTPUT_DIRECTORY_DEBUG "${OUTPUT_DIRECTORY}")
SET( LIBRARY_OUTPUT_DIRECTORY_RELEASE "${OUTPUT_DIRECTORY}")
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-D_SCL_SECURE_NO_WARNINGS)
endif ( MSVC )
configure_file(Roboto-Medium.ttf
Roboto-Medium.ttf COPYONLY)
configure_file(test.shader
test.shader COPYONLY)
#set the include directories
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${GLFW_INCLUDE_DIRS}
${TIRA_INCLUDE_DIRS}
)
#create an executable
add_executable(materialab
materialab.cpp
gui.cpp
ImGuiFileDialog/ImGuiFileDialog.cpp
)
target_link_libraries(materialab
PRIVATE glfw
PRIVATE glm::glm
PRIVATE GLEW::GLEW
${OPENGL_LIBRARIES}
${CMAKE_DL_LIBS}
PRIVATE imgui::imgui
)