From d6b125ecd5ca840dcf79e2a1967fa20d4e85344a Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 22 Feb 2017 22:57:31 +0100 Subject: [PATCH 1/2] Change cmake settings for static link --- CMakeLists.txt | 56 ++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60c801d..77fa66a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,14 +3,17 @@ cmake_minimum_required (VERSION 3.2) include (${CMAKE_ROOT}/Modules/ExternalProject.cmake) +include_directories (${CMAKE_INSTALL_PREFIX}/include) +link_directories (${CMAKE_INSTALL_PREFIX}/lib) + project (planetblupi) set (PB_VERSION_MAJOR 2) set (PB_VERSION_MINOR 0) set (PB_VERSION_PATCH 0) -set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +# set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +# set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +# set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11") @@ -19,8 +22,6 @@ endif () file (GLOB_RECURSE sources src/*.cpp src/*.h) file (GLOB_RECURSE po resources/po/*.po) -include_directories (${CMAKE_CURRENT_SOURCE_DIR}) - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++") endif () @@ -35,37 +36,27 @@ file (COPY resources/music DESTINATION share/planetblupi) # Dependencies -find_package (PkgConfig) find_package (Intl REQUIRED) -find_package (SDL2 REQUIRED) find_package (PkgConfig REQUIRED) +pkg_search_module (SDL2 REQUIRED sdl2) pkg_search_module (SDL2_MIXER REQUIRED SDL2_mixer) pkg_search_module (SDL2_IMAGE REQUIRED SDL2_image) +# Static dependencies for SDL_kitchensink +# pkg_search_module (ASS REQUIRED libass) +pkg_search_module (PNG REQUIRED libpng) +pkg_search_module (AVCODEC REQUIRED libavcodec) +pkg_search_module (AVFORMAT REQUIRED libavformat) +pkg_search_module (AVUTIL REQUIRED libavutil) +pkg_search_module (SWSCALE REQUIRED libswscale) +pkg_search_module (SWRESAMPLE REQUIRED libswresample) ################## ## SDL_kitchensink ################## -ExternalProject_Add (SDL_kitchensink_Project - GIT_REPOSITORY https://github.com/katajakasa/SDL_kitchensink.git - PREFIX ${CMAKE_CURRENT_BINARY_DIR} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH= - INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} -) - -ExternalProject_Get_Property (SDL_kitchensink_Project install_dir) -include_directories (${install_dir}/include) - -if (WIN32) - add_library (SDL_kitchensink STATIC IMPORTED) - set_property (TARGET SDL_kitchensink PROPERTY IMPORTED_LOCATION ${install_dir}/lib/libSDL_kitchensink.dll.a) -else () - add_library (SDL_kitchensink SHARED IMPORTED) - set_property (TARGET SDL_kitchensink PROPERTY IMPORTED_LOCATION ${install_dir}/lib/libSDL_kitchensink.so) -endif () - -add_dependencies (planetblupi SDL_kitchensink_Project) +add_library (SDL_kitchensink STATIC IMPORTED) +set_property (TARGET SDL_kitchensink PROPERTY IMPORTED_LOCATION ${CMAKE_INSTALL_PREFIX}/lib/libSDL_kitchensink_static.a) ########################### ## Main binary dependencies @@ -73,10 +64,17 @@ add_dependencies (planetblupi SDL_kitchensink_Project) target_link_libraries (planetblupi PUBLIC ${Intl_LIBRARIES} - ${SDL2_LIBRARIES} - ${SDL2_MIXER_LIBRARIES} - ${SDL2_IMAGE_LIBRARIES} + ${SDL2_STATIC_LIBRARIES} + ${SDL2_MIXER_STATIC_LIBRARIES} + ${SDL2_IMAGE_STATIC_LIBRARIES} SDL_kitchensink +# ${ASS_STATIC_LIBRARIES} + ${PNG_STATIC_LIBRARIES} + ${AVCODEC_STATIC_LIBRARIES} + ${AVFORMAT_STATIC_LIBRARIES} + ${AVUTIL_STATIC_LIBRARIES} + ${SWSCALE_STATIC_LIBRARIES} + ${SWRESAMPLE_STATIC_LIBRARIES} ) ########## From 74e059945aae36766b027a84cee3ddd20a837dec Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Wed, 22 Feb 2017 22:57:43 +0100 Subject: [PATCH 2/2] Add install target --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77fa66a..fb70091 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,3 +111,15 @@ foreach (file ${_gmoFiles}) DEPENDS ${_out}/planetblupi.mo ) endforeach (file) + +# Installation + +install (TARGETS planetblupi + RUNTIME DESTINATION bin +) + +install (DIRECTORY resources/data DESTINATION share/planetblupi) +install (DIRECTORY resources/image DESTINATION share/planetblupi) +install (DIRECTORY resources/movie DESTINATION share/planetblupi) +install (DIRECTORY resources/sound DESTINATION share/planetblupi) +install (DIRECTORY resources/music DESTINATION share/planetblupi)