mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Merge pull request #1276 from heinrich5991/pr_ddnet_cmake_install3
Add a proper `make install` command
This commit is contained in:
commit
714ed770e8
|
@ -12,12 +12,13 @@ addons:
|
|||
- libsdl2-dev
|
||||
script:
|
||||
- python scripts/check_header_guards.py
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then CMAKE_EXTRA_ARGS="-DDOWNLOAD_GTEST=ON"; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then CMAKE_EXTRA_ARGS="-DDOWNLOAD_GTEST=ON -DDEV=ON"; fi
|
||||
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then CMAKE_EXTRA_ARGS="-DGTEST_LIBRARY=../gtest_build/libgtest.a -DGTEST_MAIN_LIBRARY=../gtest_build/libgtest_main.a"; mkdir gtest_build; cmake -E chdir gtest_build cmake /usr/src/gtest; cmake --build gtest_build; fi
|
||||
- mkdir build; cd build
|
||||
- cmake -Werror=dev $CMAKE_EXTRA_ARGS ..
|
||||
- cmake -Werror=dev -DCMAKE_INSTALL_PREFIX=/usr $CMAKE_EXTRA_ARGS ..
|
||||
- make everything
|
||||
- make run_tests
|
||||
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then make DESTDIR=install install; test -x install/bin/DDNet; test -x install/bin/DDNet-Server; test -d install/bin/data; test -d install/usr/lib; fi
|
||||
- make package_default
|
||||
- cd ..; mkdir build_debug; cd build_debug
|
||||
- cmake -Werror=dev -DCMAKE_BUILD_TYPE=Debug $CMAKE_EXTRA_ARGS ..
|
||||
|
|
|
@ -77,10 +77,15 @@ option(MYSQL "Enable mysql support" OFF)
|
|||
option(CLIENT "Compile client" ON)
|
||||
option(DOWNLOAD_GTEST "Download and compile GTest" ${AUTO_DEPENDENCIES_DEFAULT})
|
||||
option(PREFER_BUNDLED_LIBS "Prefer bundled libraries over system libraries" ${AUTO_DEPENDENCIES_DEFAULT})
|
||||
option(DEV "Don't generate stuff necessary for packaging" OFF)
|
||||
|
||||
# Set the default build type to Release
|
||||
if(NOT(CMAKE_BUILD_TYPE))
|
||||
if(DEV)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
else()
|
||||
set(CMAKE_BUILD_TYPE Debug)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(DBG $<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>)
|
||||
|
@ -1067,7 +1072,6 @@ foreach(ABS_T ${TOOLS})
|
|||
string(REGEX REPLACE "\\.cpp$" "" TOOL "${T}")
|
||||
set(TOOL_DEPS ${DEPS})
|
||||
set(TOOL_LIBS ${LIBS})
|
||||
set(EXCLUDE_FROM_ALL EXCLUDE_FROM_ALL)
|
||||
if(TOOL MATCHES "^(tileset_.*|dilate|map_extract|map_replace_image)$")
|
||||
list(APPEND TOOL_DEPS ${PNGLITE_DEP})
|
||||
list(APPEND TOOL_LIBS ${PNGLITE_LIBRARIES})
|
||||
|
@ -1076,8 +1080,9 @@ foreach(ABS_T ${TOOLS})
|
|||
if(TOOL MATCHES "^config_")
|
||||
list(APPEND EXTRA_TOOL_SRC "src/tools/config_common.h")
|
||||
endif()
|
||||
if(TOOL MATCHES "^(config_retrieve|config_store|dilate|map_diff|map_extract)$")
|
||||
set(EXCLUDE_FROM_ALL)
|
||||
if(DEV)
|
||||
set(EXCLUDE_FROM_ALL EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
add_executable(${TOOL} ${EXCLUDE_FROM_ALL}
|
||||
${TOOL_DEPS}
|
||||
|
@ -1299,16 +1304,22 @@ if(TARGET_OS STREQUAL "windows")
|
|||
list(APPEND CPACK_FILES other/config_directory.bat)
|
||||
endif()
|
||||
|
||||
install(TARGETS ${CPACK_TARGETS} DESTINATION bin)
|
||||
install(DIRECTORY data DESTINATION share/ddnet)
|
||||
if(NOT DEV)
|
||||
install(DIRECTORY data DESTINATION share/ddnet COMPONENT data)
|
||||
install(TARGETS ${TARGET_CLIENT} DESTINATION bin COMPONENT client)
|
||||
install(TARGETS ${TARGET_SERVER} DESTINATION bin COMPONENT server)
|
||||
install(TARGETS ${TARGETS_TOOLS} DESTINATION lib/ddnet COMPONENT tools)
|
||||
endif()
|
||||
|
||||
if(CMAKE_VERSION VERSION_GREATER 3.6 OR CMAKE_VERSION VERSION_EQUAL 3.6)
|
||||
if(DEV)
|
||||
# Don't generate CPack targets.
|
||||
elseif(CMAKE_VERSION VERSION_LESS 3.6 OR CMAKE_VERSION VERSION_EQUAL 3.6)
|
||||
message(WARNING "Cannot create CPack targets, CMake version too old. Use CMake 3.6 or newer.")
|
||||
else()
|
||||
set(EXTRA_ARGS DESTINATION ${CPACK_PACKAGE_FILE_NAME} COMPONENT portable EXCLUDE_FROM_ALL)
|
||||
install(TARGETS ${CPACK_TARGETS} ${EXTRA_ARGS})
|
||||
install(DIRECTORY ${CPACK_DIRS} ${EXTRA_ARGS})
|
||||
install(FILES ${CPACK_FILES} ${EXTRA_ARGS})
|
||||
else()
|
||||
message(WARNING "Cannot create CPack targets, CMake version too old. Use CMake 3.6 or newer.")
|
||||
endif()
|
||||
|
||||
set(PACKAGE_TARGETS)
|
||||
|
|
Loading…
Reference in a new issue