-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
41 lines (33 loc) · 1.13 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
cmake_minimum_required( VERSION 3.14 )
project(starjeweled VERSION 0.2.0)
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
message(FATAL_ERROR "Only Linux system is supported.")
endif()
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(sources
src/main.cpp
src/mouse.cpp
src/overlay.cpp
src/screencapture.cpp
src/solver.cpp
src/x.cpp)
set(BIN_TARGET "terminal")
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
find_package(X11 COMPONENTS Xfixes Xcomposite Xrandr Xrender Xtst REQUIRED)
add_executable(${BIN_TARGET} ${sources} )
set_target_properties(${BIN_TARGET} PROPERTIES AUTOMOC ON)
target_compile_options(${BIN_TARGET} PRIVATE -Wall -Wextra -pedantic)
target_include_directories(${BIN_TARGET} PRIVATE ${X11_INCLUDE_DIR} )
target_link_libraries(${BIN_TARGET}
Qt5::Core
Qt5::Widgets
X11::X11
X11::Xfixes
X11::Xcomposite
X11::Xrandr
X11::Xrender
X11::Xtst)