2017-03-24 18:29:45 +01:00
|
|
|
|
# CMAKE project for openrct2-cli (CLI-only build of OpenRCT2)
|
|
|
|
|
cmake_minimum_required(VERSION 2.6)
|
|
|
|
|
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
|
|
|
message(FATAL_ERROR "Building in-source is not supported! Create a build dir and remove ${CMAKE_SOURCE_DIR}/CMakeCache.txt")
|
2017-03-25 02:40:16 +01:00
|
|
|
|
endif ()
|
2017-03-24 18:29:45 +01:00
|
|
|
|
|
2017-05-31 21:29:37 +02:00
|
|
|
|
if (PORTABLE)
|
|
|
|
|
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
|
|
|
|
endif ()
|
|
|
|
|
|
2017-03-24 21:52:07 +01:00
|
|
|
|
# CMake dependencies
|
|
|
|
|
include(FindPkgConfig)
|
|
|
|
|
|
|
|
|
|
# Third party libraries (which we want to eventually remove from openrct2-cli)
|
|
|
|
|
PKG_CHECK_MODULES(SDL2 REQUIRED sdl2)
|
2017-03-24 18:29:45 +01:00
|
|
|
|
|
2017-03-24 20:02:23 +01:00
|
|
|
|
# Sources
|
2017-03-24 18:29:45 +01:00
|
|
|
|
file(GLOB_RECURSE OPENRCT2_CLI_SOURCES
|
2017-03-24 21:52:07 +01:00
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/*.c"
|
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/*.cpp"
|
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/*.h"
|
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/*.hpp")
|
|
|
|
|
|
|
|
|
|
# Outputs
|
2017-05-29 22:13:46 +02:00
|
|
|
|
set (PROJECT openrct2-cli)
|
2017-03-24 21:52:07 +01:00
|
|
|
|
project(${PROJECT})
|
2017-05-29 22:13:46 +02:00
|
|
|
|
add_executable(${PROJECT} EXCLUDE_FROM_ALL ${OPENRCT2_CLI_SOURCES})
|
2017-03-24 21:52:07 +01:00
|
|
|
|
|
2017-03-25 00:40:17 +01:00
|
|
|
|
target_link_libraries(${PROJECT} "libopenrct2")
|
2017-03-24 21:52:07 +01:00
|
|
|
|
|
|
|
|
|
# Includes
|
2017-03-25 00:40:17 +01:00
|
|
|
|
target_include_directories(${PROJECT} PRIVATE "${CMAKE_CURRENT_LIST_DIR}/.."
|
|
|
|
|
${SDL2_INCLUDE_DIRS})
|
2017-03-24 18:29:45 +01:00
|
|
|
|
|
2017-03-24 20:02:23 +01:00
|
|
|
|
# Compiler flags
|
2017-03-25 03:03:35 +01:00
|
|
|
|
if (FORCE32)
|
|
|
|
|
set(TARGET_M "-m32")
|
|
|
|
|
endif ()
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11 ${TARGET_M}")
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14 ${TARGET_M}")
|
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${TARGET_M}")
|