-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
44 lines (37 loc) · 967 Bytes
/
CMakeLists.txt
File metadata and controls
44 lines (37 loc) · 967 Bytes
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
cmake_minimum_required(VERSION 3.10)
# Project
project(Shell)
# Sources
file(GLOB_RECURSE SOURCES sources/*.cpp)
file(GLOB_RECURSE HEADERS sources/*.hpp sources/*.h)
# Executable
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS})
# C++ 17
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON)
# Includes
target_include_directories(${PROJECT_NAME} PUBLIC sources)
# linker flags
add_definitions(
"-lmingw32
-lgdi32
-luser32
-lkernel32
-ladvapi32
-lshell32
-lgcc
-lmoldname
-lmingwex
-lmsvcrt
-lwinspool
-lcomdlg32
-lole32
-loleaut32
-luuid
-lodbc32
-lodbccp32")
# VS settings
if(MSVC)
target_compile_options(${PROJECT_NAME} PRIVATE "/Zc:__cplusplus")
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
set_property(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME})
endif()