-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
45 lines (36 loc) · 1.39 KB
/
CMakeLists.txt
File metadata and controls
45 lines (36 loc) · 1.39 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
cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
project(LightField)
# Set root directory
set(LIGHT_FIELD_ROOT ${CMAKE_CURRENT_LIST_DIR})
# Compiler options
set(CMAKE_CXX_STANDARD 14)
if (NOT WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O2 -g")
endif()
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Find Qt5
if (WIN32)
set(QT5_ROOT ${QT5_ROOT} CACHE PATH "QT5-NOT_FOUND")
if (NOT EXISTS "${QT5_ROOT}/lib/cmake")
message(FATAL_ERROR "[ERROR] Qt5 libraries not found!!")
else()
message(STATUS "Qt5: ${QT5_ROOT}")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QT5_ROOT})
endif()
endif()
find_package(Qt5Widgets REQUIRED)
find_package(Qt5OpenGL REQUIRED)
find_package(OpenGL REQUIRED)
get_target_property(QtCore_location Qt5::Core LOCATION)
message(STATUS "QtCore: ${QtCore_location}")
get_target_property(QtGui_location Qt5::Gui LOCATION)
message(STATUS "QtGui: ${QtGui_location}")
# Set output path
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
add_subdirectory(src)