CMAKE: cleanup cmake script
parent
b0ac5d16e7
commit
cce48628e9
|
@ -56,7 +56,6 @@ option(THUMBNAILER "Builds thumbnailer" ON)
|
|||
option(VOXCONVERT "Builds voxconvert" ON)
|
||||
option(MAPVIEW "Builds mapview" ON)
|
||||
option(NOISETOOL "Builds noisetool" ON)
|
||||
option(VOXEDIT_ONLY "Builds voxedit only" OFF)
|
||||
set(GIT_EXECUTABLE "git" CACHE STRING "The git binary to use for the update-libs target")
|
||||
set(HG_EXECUTABLE "hg" CACHE STRING "The mercurial binary to use for the update-libs target")
|
||||
option(USE_CCACHE "Use ccache" ON)
|
||||
|
@ -71,15 +70,6 @@ set(SERVER_PORT "11337" CACHE STRING "Port where the server is listening on")
|
|||
set(HTTP_SERVER_PORT "8080" CACHE STRING "Port where the http server is listening on")
|
||||
set(DOCKER_REGISTRY "" CACHE STRING "Docker registry")
|
||||
|
||||
if (VOXEDIT_ONLY)
|
||||
set(MAPVIEW OFF)
|
||||
set(NOISETOOL OFF)
|
||||
set(RCON OFF)
|
||||
set(SERVER OFF)
|
||||
set(CLIENT OFF)
|
||||
set(TOOLS ON)
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(WINDOWS 1)
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Android")
|
||||
|
@ -150,18 +140,8 @@ foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
|||
endforeach()
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SCRIPTS_CMAKE_DIR})
|
||||
set(CMAKE_VERBOSE_MAKEFILE ${VERBOSE})
|
||||
set(CMAKE_COLOR_MAKEFILE ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
if (${CMAKE_GENERATOR} MATCHES "Eclipse CDT4")
|
||||
message(STATUS "Generate eclipse projects")
|
||||
set(CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES OFF)
|
||||
set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT ON)
|
||||
set(CMAKE_ECLIPSE_VERSION "4.3" CACHE STRING "Eclipse version")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++14" CACHE STRING "C++ version for Eclipse")
|
||||
endif()
|
||||
|
||||
find_host_program(CCACHE "ccache")
|
||||
if (CCACHE)
|
||||
if (USE_CCACHE)
|
||||
|
@ -179,8 +159,6 @@ endif()
|
|||
|
||||
find_host_program(GDB_EXECUTABLE NAMES ${GDB_BINARY} gdb)
|
||||
find_host_program(LLDB_EXECUTABLE NAMES ${LLDB_BINARY} lldb)
|
||||
find_host_program(GIT_EXECUTABLE NAMES ${GIT_BINARY} git)
|
||||
find_host_program(HG_EXECUTABLE NAMES ${HG_BINARY} hg)
|
||||
check_include_files("uuid/uuid.h" HAVE_UUID_H)
|
||||
|
||||
set(CURSES_NEED_NCURSES True)
|
||||
|
@ -206,7 +184,7 @@ if (UNITTESTS)
|
|||
endif()
|
||||
|
||||
configure_file(src/engine-config.h.in engine-config.h @ONLY)
|
||||
message(STATUS "Generate config.h in ${CMAKE_CURRENT_BINARY_DIR}")
|
||||
message(STATUS "Generate engine-config.h in ${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
find_package(Doxygen)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
|
||||
|
@ -218,49 +196,3 @@ if (DOXYGEN_FOUND)
|
|||
DEPENDS codegen
|
||||
)
|
||||
endif(DOXYGEN_FOUND)
|
||||
|
||||
macro(engine_update_git_lib)
|
||||
set(_OPTIONS_ARGS)
|
||||
set(_ONE_VALUE_ARGS LIB URL TARGETDIR)
|
||||
set(_MULTI_VALUE_ARGS COPY DELETE REVERT)
|
||||
|
||||
cmake_parse_arguments(UPDATE "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} )
|
||||
|
||||
if (NOT UPDATE_TARGETDIR)
|
||||
set(UPDATE_TARGETDIR "${ROOT_DIR}/contrib/libs/${UPDATE_LIB}")
|
||||
endif()
|
||||
|
||||
if (GIT_EXECUTABLE)
|
||||
set(CLONE_DIR ${CMAKE_BINARY_DIR}/${UPDATE_LIB}.sync)
|
||||
set(CLONE_CMAKE ${CMAKE_BINARY_DIR}/UpdateGit${UPDATE_LIB}.cmake)
|
||||
file(WRITE ${CLONE_CMAKE} "if (NOT EXISTS ${CLONE_DIR})\n\tmessage(STATUS \"Clone repository for ${UPDATE_LIB}\")\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\texecute_process(COMMAND ${GIT_EXECUTABLE} clone --depth=1 ${UPDATE_URL} ${CLONE_DIR})\n")
|
||||
file(APPEND ${CLONE_CMAKE} "else()\n\tmessage(STATUS \"Update repository for ${UPDATE_LIB}\")\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\texecute_process(COMMAND ${GIT_EXECUTABLE} -C ${CLONE_DIR} pull --depth=1 --rebase)\n")
|
||||
file(APPEND ${CLONE_CMAKE} "endif()\n")
|
||||
if (UPDATE_DELETE)
|
||||
file(APPEND ${CLONE_CMAKE} "foreach(file ${UPDATE_COPY})\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\tmessage(STATUS \"delete \${file}\")\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\t# TODO: delete file\n")
|
||||
file(APPEND ${CLONE_CMAKE} "endforeach()\n")
|
||||
endif()
|
||||
if (UPDATE_COPY)
|
||||
file(APPEND ${CLONE_CMAKE} "foreach(file ${UPDATE_COPY})\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\tmessage(STATUS \"check \${file}\")\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\tconfigure_file(${CLONE_DIR}/\${file} ${UPDATE_TARGETDIR}/\${file} COPYONLY)\n")
|
||||
file(APPEND ${CLONE_CMAKE} "endforeach()\n")
|
||||
endif()
|
||||
if (UPDATE_REVERT)
|
||||
file(APPEND ${CLONE_CMAKE} "foreach(file ${UPDATE_COPY})\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\tmessage(STATUS \"revert \${file}\")\n")
|
||||
file(APPEND ${CLONE_CMAKE} "\texecute_process(COMMAND ${GIT_EXECUTABLE} checkout -f ${UPDATE_TARGETDIR}/\${file})\n")
|
||||
file(APPEND ${CLONE_CMAKE} "endforeach()\n")
|
||||
endif()
|
||||
add_custom_target(update-libs-${UPDATE_LIB} ${CMAKE_COMMAND} -P ${CLONE_CMAKE})
|
||||
add_dependencies(update-libs update-libs-${UPDATE_LIB})
|
||||
else()
|
||||
message(STATUS "Could not add update-libs-${UPDATE_LIB} target - no git installed or found")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
engine_update_git_lib(LIB simplecpp URL "https://github.com/danmar/simplecpp.git" COPY simplecpp.cpp simplecpp.h)
|
||||
|
|
Loading…
Reference in New Issue