]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - CMakeLists.txt
gtkglext: build builtin GtkGLExt as cmake external project
[xonotic/netradiant.git] / CMakeLists.txt
index fb00a218a1bdb94d8ad3dcdd981b5fbfaefcb621..d861842cc3446049a14982c1fc43e8ac9c30cecc 100644 (file)
@@ -1,4 +1,5 @@
-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
 project(NetRadiant C CXX)
 
@@ -8,9 +9,16 @@ else ()
     set(DEFAULT_BUILD_CRUNCH OFF CACHE INTERNAL "...")
 endif ()
 
+if (EXISTS "${PROJECT_SOURCE_DIR}/tools/unvanquished/daemonmap/tools/quake3/q3map2/main.c")
+    set(DEFAULT_BUILD_DAEMONMAP ON CACHE INTERNAL "...")
+else ()
+    set(DEFAULT_BUILD_DAEMONMAP OFF CACHE INTERNAL "...")
+endif ()
+
 option(BUILD_RADIANT "Build the GUI" ON)
 option(BUILD_TOOLS "Build the tools" ON)
 option(BUILD_CRUNCH "Build Crunch image support" ${DEFAULT_BUILD_CRUNCH})
+option(BUILD_DAEMONMAP "Build daemonmap navigation mesh generator" ${DEFAULT_BUILD_DAEMONMAP})
 option(DOWNLOAD_GAMEPACKS "Download game packs" ON)
 option(USE_WERROR "Build with -Werror -pedantic-errors" OFF)
 option(FHS_INSTALL "Install according to Filesystem Hierarchy Standard" OFF)
@@ -154,6 +162,27 @@ if (BUILD_RADIANT)
     endif ()
 endif ()
 
+option(BUILTIN_GTKGLEXT "Builtin GtkGLExt" OFF)
+if (BUILTIN_GTKGLEXT)
+    include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
+
+    execute_process(COMMAND pkg-config --libs gdk-2.0 gtk+-2.0 glib-2.0 gl
+        OUTPUT_VARIABLE GTKGLEXT_LDFLAGS
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    set(GTKGLEXT_LDFLAGS "-lm ${GTKGLEXT_LDFLAGS}")
+
+    ExternalProject_Add(gtkglext
+        GIT_REPOSITORY https://gitlab.gnome.org/illwieckz/gtkglext.git
+        GIT_TAG fixes
+        BUILD_IN_SOURCE ON
+        CONFIGURE_COMMAND NOCONFIGURE=1 ./autogen.sh
+        CONFIGURE_COMMAND && ./configure --prefix "${CMAKE_BINARY_DIR}/external"
+        BUILD_COMMAND $(MAKE) LDFLAGS=${GTKGLEXT_LDFLAGS}
+        INSTALL_COMMAND $(MAKE) install
+    )
+endif ()
+
 #-----------------------------------------------------------------------
 # Defs
 #-----------------------------------------------------------------------
@@ -282,10 +311,6 @@ endif ()
 #-----------------------------------------------------------------------
 
 if (BUILD_BINARIES)
-    if (CMAKE_EXECUTABLE_SUFFIX)
-        string(REGEX REPLACE "^[.]" "" RADIANT_EXECUTABLE ${CMAKE_EXECUTABLE_SUFFIX})
-    endif ()
-
     macro (radiant_tool name)
         add_dependencies(binaries ${name})
 
@@ -305,9 +330,6 @@ if (BUILD_BINARIES)
 
     if (BUILD_RADIANT)
         add_subdirectory(radiant)
-        set_target_properties(${RADIANT_BASENAME} PROPERTIES
-        COMPILE_DEFINITIONS RADIANT_EXECUTABLE="${RADIANT_EXECUTABLE}"
-    )
     endif ()
 endif ()
 
@@ -354,6 +376,11 @@ if (BUILD_BINARIES)
         docs
         DESTINATION ${RADIANT_DATA_DIR}
     )
+
+    install(FILES
+        setup/data/tools/global.xlink
+        DESTINATION ${RADIANT_DATA_DIR}
+    )
 endif ()
 
 if (DOWNLOAD_GAMEPACKS)