-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
43 lines (30 loc) · 1.3 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
42
43
cmake_minimum_required(VERSION 3.6)
project(pluto CXX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin/release)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin/debug)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/lib/release)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/lib/debug)
include(${CMAKE_CURRENT_SOURCE_DIR}/conan/conanbuildinfo.cmake)
conan_basic_setup()
set(PLUTO_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/pluto/include)
set(PLUTO_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/pluto/src)
set(PLUTO_SOURCE_FILES "")
add_subdirectory(pluto/src/pluto)
add_library(pluto SHARED ${PLUTO_SOURCE_FILES})
set_target_properties(pluto PROPERTIES
CXX_STANDARD 17
CXX_EXTENSIONS OFF
)
target_compile_definitions(pluto PRIVATE PLUTO_DLL_EXPORT)
target_link_libraries(pluto PUBLIC ${CONAN_LIBS})
target_include_directories(pluto PUBLIC
$<BUILD_INTERFACE:${PLUTO_INCLUDE_DIR}>
)
target_include_directories(pluto PRIVATE
$<BUILD_INTERFACE:${PLUTO_SOURCE_DIR}>
)
add_subdirectory(examples/sandbox)
add_subdirectory(examples/flappy_bird)
add_subdirectory(tools/pluto_asset_manager)