list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
project(NetRadiant C CXX)
+if (EXISTS "${PROJECT_SOURCE_DIR}/libs/crunch/inc/crn_decomp.h")
+ set(DEFAULT_BUILD_CRUNCH ON CACHE INTERNAL "...")
+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" OFF)
+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)
include_directories("${PROJECT_SOURCE_DIR}/include")
include_directories("${PROJECT_SOURCE_DIR}/libs")
- if (WIN32 AND NOT CMAKE_CROSSCOMPILING)
- set(BUNDLE_LIBRARIES_DEFAULT ON)
- else ()
- set(BUNDLE_LIBRARIES_DEFAULT OFF)
- endif ()
+ if (WIN32 OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+ set(BUNDLING_SUPPORTED ON)
+ endif()
+
+ if (BUNDLING_SUPPORTED)
+ if(WIN32 AND NOT CMAKE_CROSSCOMPILING)
+ set(BUNDLE_LIBRARIES_DEFAULT ON)
+ else ()
+ set(BUNDLE_LIBRARIES_DEFAULT OFF)
+ endif ()
- option(BUNDLE_LIBRARIES "Bundle libraries" ${BUNDLE_LIBRARIES_DEFAULT})
+ option(BUNDLE_LIBRARIES "Bundle libraries" ${BUNDLE_LIBRARIES_DEFAULT})
+ endif ()
- if (BUNDLE_LIBRARIES)
+ if (BUNDLE_LIBRARIES AND BUNDLING_SUPPORTED)
add_subdirectory(bundle)
set(FHS_INSTALL OFF CACHE PATH "Disabled because of BUNDLE_LIBRARIES" FORCE)
endif ()
macro (copy_dlls target)
- if (BUNDLE_LIBRARIES)
+ if (BUNDLE_LIBRARIES AND BUNDLING_SUPPORTED)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND "${PROJECT_SOURCE_DIR}/library-bundler"
"register" "${PROJECT_BINARY_DIR}" "$<TARGET_FILE:${target}>"
#-----------------------------------------------------------------------
if (BUILD_BINARIES)
- if (CMAKE_EXECUTABLE_SUFFIX)
- string(REGEX REPLACE "^[.]" "" RADIANT_EXECUTABLE ${CMAKE_EXECUTABLE_SUFFIX})
- endif ()
-
macro (radiant_tool name)
add_dependencies(binaries ${name})
- if (BUNDLE_LIBRARIES AND WIN32)
+ if (WIN32)
add_executable(${name} ${ARGN} ${PROJECT_SOURCE_DIR}/include/lib.rc)
else ()
add_executable(${name} ${ARGN})
- endif ()
+ endif()
copy_dlls(${name})
if (BUILD_RADIANT)
add_subdirectory(radiant)
- set_target_properties(${RADIANT_BASENAME} PROPERTIES
- COMPILE_DEFINITIONS RADIANT_EXECUTABLE="${RADIANT_EXECUTABLE}"
- )
endif ()
endif ()
docs
DESTINATION ${RADIANT_DATA_DIR}
)
+
+ install(FILES
+ setup/data/tools/global.xlink
+ DESTINATION ${RADIANT_DATA_DIR}
+ )
endif ()
if (DOWNLOAD_GAMEPACKS)