-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
68 lines (62 loc) · 2.19 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
cmake_minimum_required(VERSION 3.7)
set(CMAKE_CXX_STANDARD 17)
project(isorias)
execute_process(
COMMAND git submodule foreach git pull origin master
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
#execute_process(
# COMMAND git submodule update --remote --init
# WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
#)
add_custom_target(fengin-core WORKING_DIRECTORY modules/fengin-core)
add_custom_target(fengin-base WORKING_DIRECTORY modules/fengin-base)
function(find_static_library LIB_NAME OUT)
if (WIN32 OR MSVC)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
elseif (UNIX)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
endif()
find_library(
FOUND_${LIB_NAME}_STATIC
${LIB_NAME}
)
if (FOUND_${LIB_NAME}_STATIC)
get_filename_component(ABS_FILE ${FOUND_${LIB_NAME}_STATIC} ABSOLUTE)
else()
message(SEND_ERROR "Unable to find library ${LIB_NAME}")
endif()
set(${OUT} ${ABS_FILE} PARENT_SCOPE)
endfunction()
file(GLOB GameObjects include/GameObjects/UI/* include/GameObjects/Game/*)
file(GLOB JsonCPP include/json/*.cpp include/json/*.hpp include/json/json/*.h)
set(SOURCE_FILES
src/main.cpp
src/Systems/Splashscreen.cpp
src/Systems/Splashscreen.hpp
src/Systems/Game.cpp
src/Systems/Game.hpp
${GameObjects}
${JsonCPP}
)
add_executable(isorias ${SOURCE_FILES})
include_directories(include modules modules/fengin-base/src libs/soil/src)
set_target_properties(isorias PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../)
find_library(SOIL SOIL HINTS ./libs/soil/lib)
if (UNIX)
target_compile_options(isorias PUBLIC -W -Wall -Werror -Wextra -g3)
find_library(FENGIN_CORE fengin-core HINTS ./modules/fengin-core/release)
target_link_libraries(isorias dl ${FENGIN_CORE})
target_link_libraries(isorias sfml-system sfml-window sfml-audio sfml-graphics)
endif (UNIX)
if (WIN32)
find_library(FENDER fender HINTS ./lib)
find_library(SFMLSYSTEM sfml-system HINTS ./lib)
find_library(SFMLWINDOW sfml-window HINTS ./lib)
find_library(SFMLAUDIO sfml-audio HINTS ./lib)
find_library(SFMLGRAPHICS sfml-graphics HINTS ./lib)
target_link_libraries(isorias ${FENDER})
message("Found ${FENDER}")
target_link_libraries(isorias ${SFMLSYSTEM} ${SFMLAUDIO} ${SFMLGRAPHICS} ${SFMLWINDOW})
endif (WIN32)
target_link_libraries(isorias -lstdc++fs)