2017-02-10 23:03:33 +01:00
|
|
|
|
|
|
|
cmake_minimum_required (VERSION 3.2)
|
|
|
|
|
|
|
|
include (${CMAKE_ROOT}/Modules/ExternalProject.cmake)
|
|
|
|
|
|
|
|
project (planetblupi)
|
|
|
|
set (PB_VERSION_MAJOR 2)
|
|
|
|
set (PB_VERSION_MINOR 0)
|
|
|
|
set (PB_VERSION_PATCH 0)
|
|
|
|
|
2017-02-11 18:10:03 +01:00
|
|
|
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
2017-02-10 23:03:33 +01:00
|
|
|
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
|
|
|
2017-02-11 18:58:12 +01:00
|
|
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
|
|
|
endif ()
|
|
|
|
|
2017-02-10 23:03:33 +01:00
|
|
|
file (GLOB_RECURSE sources src/*.cpp src/*.h)
|
|
|
|
file (GLOB_RECURSE data resources/data/*)
|
|
|
|
file (GLOB_RECURSE image resources/image/*)
|
|
|
|
file (GLOB_RECURSE movie resources/movie/*)
|
|
|
|
file (GLOB_RECURSE sound resources/sound/*)
|
2017-02-14 19:08:48 +01:00
|
|
|
file (GLOB_RECURSE po resources/translations/*.po)
|
2017-02-10 23:03:33 +01:00
|
|
|
|
|
|
|
include_directories (${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
|
|
|
add_executable (planetblupi ${sources} ${data} ${image} ${movie} ${sound})
|
|
|
|
|
|
|
|
file (COPY ${data} DESTINATION data)
|
|
|
|
file (COPY ${image} DESTINATION image)
|
|
|
|
file (COPY ${movie} DESTINATION movie)
|
|
|
|
file (COPY ${sound} DESTINATION sound)
|
|
|
|
|
|
|
|
# Dependencies
|
|
|
|
|
|
|
|
find_package (PkgConfig)
|
|
|
|
find_package (Intl REQUIRED)
|
|
|
|
find_package (SDL2 REQUIRED)
|
|
|
|
|
|
|
|
find_package (PkgConfig REQUIRED)
|
|
|
|
pkg_search_module (SDL2_MIXER REQUIRED SDL2_mixer)
|
2017-02-12 22:06:08 +01:00
|
|
|
pkg_search_module (SDL2_IMAGE REQUIRED SDL2_image)
|
2017-02-10 23:03:33 +01:00
|
|
|
|
|
|
|
##################
|
|
|
|
## SDL_kitchensink
|
2017-02-14 18:17:45 +01:00
|
|
|
|
|
|
|
ExternalProject_Add (SDL_kitchensink_Project
|
2017-02-10 23:03:33 +01:00
|
|
|
GIT_REPOSITORY https://github.com/katajakasa/SDL_kitchensink.git
|
2017-02-11 18:10:03 +01:00
|
|
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
|
2017-02-10 23:03:33 +01:00
|
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
|
|
|
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
)
|
|
|
|
|
2017-02-14 18:17:45 +01:00
|
|
|
ExternalProject_Get_Property (SDL_kitchensink_Project install_dir)
|
2017-02-10 23:03:33 +01:00
|
|
|
include_directories (${install_dir}/include)
|
|
|
|
|
2017-02-14 18:17:45 +01:00
|
|
|
if (WIN32)
|
2017-02-14 23:11:27 +01:00
|
|
|
add_library (SDL_kitchensink STATIC IMPORTED)
|
|
|
|
set_property (TARGET SDL_kitchensink PROPERTY IMPORTED_LOCATION ${install_dir}/lib/libSDL_kitchensink.dll.a)
|
2017-02-14 18:17:45 +01:00
|
|
|
else ()
|
2017-02-14 23:11:27 +01:00
|
|
|
add_library (SDL_kitchensink SHARED IMPORTED)
|
|
|
|
set_property (TARGET SDL_kitchensink PROPERTY IMPORTED_LOCATION ${install_dir}/lib/libSDL_kitchensink.so)
|
2017-02-14 18:17:45 +01:00
|
|
|
endif ()
|
|
|
|
|
2017-02-14 23:07:44 +01:00
|
|
|
add_dependencies (planetblupi SDL_kitchensink_Project)
|
2017-02-14 18:17:45 +01:00
|
|
|
|
2017-02-10 23:03:33 +01:00
|
|
|
## SDL_kitchensink
|
|
|
|
## ##################
|
|
|
|
|
|
|
|
target_link_libraries (planetblupi PUBLIC
|
|
|
|
${Intl_LIBRARIES}
|
|
|
|
${SDL2_LIBRARIES}
|
|
|
|
${SDL2_MIXER_LIBRARIES}
|
2017-02-12 22:06:08 +01:00
|
|
|
${SDL2_IMAGE_LIBRARIES}
|
2017-02-14 18:17:45 +01:00
|
|
|
SDL_kitchensink
|
2017-02-10 23:03:33 +01:00
|
|
|
)
|
2017-02-13 23:05:49 +01:00
|
|
|
|
|
|
|
## GetText
|
|
|
|
|
|
|
|
find_package (Gettext)
|
|
|
|
|
2017-02-14 19:08:48 +01:00
|
|
|
set (_potFile ${CMAKE_CURRENT_SOURCE_DIR}/resources/translations/${PROJECT_NAME}.pot)
|
2017-02-13 23:05:49 +01:00
|
|
|
|
|
|
|
add_custom_command (OUTPUT ${_potFile}
|
2017-02-14 23:08:21 +01:00
|
|
|
COMMAND xgettext --keyword=translate --keyword=ptranslate:1c,2 -o ${_potFile} ${sources}
|
|
|
|
DEPENDS ${_src_list}
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
COMMENT "Extract translatable messages to ${_potFile}"
|
2017-02-13 23:05:49 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
add_custom_target (pot_file ALL ${_all}
|
2017-02-14 23:08:21 +01:00
|
|
|
DEPENDS ${_potFile}
|
2017-02-13 23:05:49 +01:00
|
|
|
)
|
|
|
|
|
2017-02-14 23:08:21 +01:00
|
|
|
gettext_create_translations (${_potFile} ALL ${po})
|