X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=CMakeLists.txt;h=e920fd6216c4e3522bedc5814d6d51c012e91015;hb=d3bcf2f5482f883da28116cf87abc30b94064ee4;hp=64f0f9da31ad0e5d210f6f6820773fcf60293f0c;hpb=03be668aca6168191b9adca7aec905c01c436146;p=xonotic%2Fnetradiant.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 64f0f9da..e920fd62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,8 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") project(NetRadiant C CXX) option(BUILD_RADIANT "Build the GUI" ON) +option(BUILD_CRUNCH "Build Crunch image support" OFF) +option(USE_WERROR "Build with -Werror -pedantic-errors" OFF) if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/install" CACHE PATH "..." FORCE) @@ -44,6 +46,7 @@ message(STATUS "Building ${PROJECT_NAME} ${RADIANT_VERSION_STRING} ${RADIANT_ABO set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) if (CMAKE_VERSION VERSION_LESS "3.1") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_COMPILER_IS_GNUCXX) include(CheckCXXCompilerFlag) @@ -78,7 +81,7 @@ if (NOT WIN32) addflags("-fvisibility=hidden") endif () -if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +if (USE_WERROR) addflags("-Werror") addflags("-pedantic-errors") endif () @@ -89,14 +92,9 @@ addflags("-pedantic") addflags_c("-Wno-deprecated-declarations") # vfs.c: g_strdown -addflags("-Wno-sign-compare") addflags("-Wno-unused-function") addflags("-Wno-unused-variable") addflags("-Wno-unused-parameter") -addflags("-Wno-missing-field-initializers") - -addflags_c("-Wno-pointer-to-int-cast") -addflags_c("-Wno-incompatible-pointer-types") set(CMAKE_POSITION_INDEPENDENT_CODE 1) set(GTK_TARGET 2 CACHE STRING "GTK target") @@ -254,14 +252,16 @@ endif () #----------------------------------------------------------------------- option(DOWNLOAD_GAMEPACKS "Download game packs" ON) -add_custom_target(game_packs - COMMAND ${CMAKE_COMMAND} -E make_directory games - COMMAND DOWNLOAD_GAMEPACKS=yes SOURCE_DIR="${PROJECT_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}/install-gamepacks.sh" "${PROJECT_BINARY_DIR}" - COMMENT "Downloading game packs" - ) + +set(GAMEPACKS_LICENSE_LIST free CACHE STRING "Download game packs by license") +set(GAMEPACKS_NAME_LIST none CACHE STRING "Download game packs by name") + if (DOWNLOAD_GAMEPACKS) - add_custom_target(game_packs_all ALL DEPENDS game_packs) -endif () + add_custom_target(game_packs ALL + COMMAND "${PROJECT_SOURCE_DIR}/gamepack-manager" --license ${GAMEPACKS_LICENSE_LIST} --name ${GAMEPACKS_NAME_LIST} --download-dir "${PROJECT_BINARY_DIR}/download" --install-dir "${PROJECT_BINARY_DIR}" --download --install + COMMENT "Downloading ${GAMEPACKS_LICENSE_LIST} game packs" + ) +endif() #----------------------------------------------------------------------- # Install @@ -282,35 +282,7 @@ install( DESTINATION . ) -set(GAME_FILES - DarkPlaces - Nexuiz - OpenArena - Osirion - Q3 - Quake2 - Quake - Quetoo - Tremulous - UFOAI - Unvanquished - Warsow - Xonotic - ) -unset(_tmp) -foreach (it ${GAME_FILES}) - set(dir "${PROJECT_BINARY_DIR}/games/${it}Pack") - string(TOLOWER "${it}" it) - list(APPEND _tmp "${dir}/games") - list(APPEND _tmp "${dir}/${it}.game") -endforeach () -set(GAME_FILES ${_tmp}) - -install( - DIRECTORY - ${GAME_FILES} - DESTINATION . - OPTIONAL +install(CODE "execute_process(COMMAND \"${PROJECT_SOURCE_DIR}/gamepack-manager\" --license ${GAMEPACKS_LICENSE_LIST} --name ${GAMEPACKS_NAME_LIST} --download-dir \"${PROJECT_BINARY_DIR}/download\" --install-dir \"${CMAKE_INSTALL_PREFIX}\" --install)" ) include(cmake/scripts/package.cmake)