-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
32 lines (24 loc) · 980 Bytes
/
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
cmake_minimum_required(VERSION 3.6)
project(flockingBoids)
add_subdirectory(extlibs/imgui)
find_package(SFML 2 COMPONENTS graphics window system REQUIRED)
find_package(OpenGL REQUIRED)
file(GLOB BOIDS_HEADERS include/*.hpp)
file(GLOB BOIDS_SOURCES src/*.cpp)
add_executable(flockingBoids ${BOIDS_HEADERS} ${BOIDS_SOURCES})
target_link_libraries(flockingBoids imgui)
if (SFML_FOUND)
target_link_libraries(flockingBoids sfml-window sfml-graphics sfml-system)
endif()
target_link_libraries(flockingBoids ${OPENGL_LIBRARIES})
target_include_directories(flockingBoids
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src
)
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_EXTENSIONS OFF)