]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - CMakeLists.txt
Misc fixes
[xonotic/netradiant.git] / CMakeLists.txt
index bf5e235edccefd0f4bad15bbe103542d13d32b7a..40975004ea72f140e6536350eac4cca14e3c5b25 100644 (file)
@@ -44,6 +44,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)
@@ -81,6 +82,12 @@ endif ()
 if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
     addflags("-Werror")
     addflags("-pedantic-errors")
+    set(CMAKE_VERBOSE_MAKEFILE ON)
+    addflags(-fstack-protector -fstack-protector-strong -fstack-protector-all)
+    #addflags("-fsanitize=address,undefined") # break __asan::ReportGenericError
+
+    #add_definitions(-D_GLIBCXX_DEBUG=1)
+    #add_definitions(-D_GLIBCXX_DEBUG_PEDANTIC=1)
 endif ()
 
 addflags("-Wall")
@@ -88,12 +95,11 @@ addflags("-Wextra")
 addflags("-pedantic")
 
 addflags_c("-Wno-deprecated-declarations") # vfs.c: g_strdown
+addflags_cxx("-Wno-deprecated-declarations") # various gtk
 
-addflags("-Wno-sign-compare")
 addflags("-Wno-unused-function")
 addflags("-Wno-unused-variable")
 addflags("-Wno-unused-parameter")
-addflags("-Wno-missing-field-initializers")
 
 set(CMAKE_POSITION_INDEPENDENT_CODE 1)
 set(GTK_TARGET 2 CACHE STRING "GTK target")
@@ -250,14 +256,25 @@ endif ()
 # Game packs
 #-----------------------------------------------------------------------
 
-option(DOWNLOAD_GAMEPACKS "Download game packs" ON)
-add_custom_target(game_packs
+option(DOWNLOAD_GAMEPACKS "Download game packs" OFF)
+add_custom_target(game_packs_free
         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"
+        COMMENT "Downloading free game packs"
+        )
+add_custom_target(game_packs_all
+        COMMAND ${CMAKE_COMMAND} -E make_directory games
+        COMMAND DOWNLOAD_GAMEPACKS=all SOURCE_DIR="${PROJECT_SOURCE_DIR}" "${PROJECT_SOURCE_DIR}/install-gamepacks.sh" "${PROJECT_BINARY_DIR}"
+        COMMENT "Downloading all game packs"
         )
+
 if (DOWNLOAD_GAMEPACKS)
-    add_custom_target(game_packs_all ALL DEPENDS game_packs)
+    set(DOWNLOAD_GAMEPACKS "all")
+endif()
+if ("${DOWNLOAD_GAMEPACKS}" STREQUAL "free")
+    add_custom_target(game_packs_go ALL DEPENDS game_packs_free)
+elseif ("${DOWNLOAD_GAMEPACKS}" STREQUAL "all")
+    add_custom_target(game_packs_go ALL DEPENDS game_packs_all)
 endif ()
 
 #-----------------------------------------------------------------------