Merge pull request 'Several CMake-related improvements and bugfixes' (#23) from cmake-fixes into main

Reviewed-on: #23
This commit is contained in:
Xavier Del Campo Romero 2025-01-19 08:35:01 +01:00
commit ec61c3700e
17 changed files with 49 additions and 305 deletions

View file

@ -34,21 +34,23 @@ IF(APPLE)
ENDIF(APPLE)
option(SD_ASSUME_DATADIR "Assume default directory for speed-dreams-data")
set(data_version 2.3.0)
include(GNUInstallDirs)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_LIST_DIR}/cmake)
if(SD_ASSUME_DATADIR)
set(SD_DATADIR ${CMAKE_INSTALL_DATADIR}/games/speed-dreams-2)
set(SD_DATADIR_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/games/speed-dreams-2)
set(SD_DATADIR_ABS ${SD_DATADIR_INSTALL_PREFIX})
message(STATUS "Data directory: ${SD_DATADIR_ABS} (assumed)")
elseif(EXISTS speed-dreams-data/CMakeLists.txt)
elseif(EXISTS ${CMAKE_CURRENT_LIST_DIR}/speed-dreams-data/CMakeLists.txt)
add_subdirectory(speed-dreams-data)
set(SD_DATADIR ${CMAKE_INSTALL_DATADIR}/games/speed-dreams-2)
set(SD_DATADIR_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/games/speed-dreams-2)
set(SD_DATADIR_ABS ${CMAKE_CURRENT_SOURCE_DIR}/speed-dreams-data/data)
message(STATUS "Data directory: ${SD_DATADIR_ABS} (in-tree)")
else()
set(data_version 2.3.0)
find_package(speed-dreams-data ${data_version} QUIET)
if(NOT SD_DATADIR)
@ -72,9 +74,23 @@ else()
message(STATUS "Data directory: ${SD_DATADIR_ABS}")
endif()
if(CMAKE_CXX_COMPILER_ID)
set(SD_BUILD_INFO_COMPILER_NAME ${CMAKE_CXX_COMPILER_ID})
else()
set(SD_BUILD_INFO_COMPILER_NAME "Unknown")
endif()
INCLUDE(cmake/macros.cmake)
INCLUDE(cmake/checks.cmake)
set(CMAKE_INSTALL_RPATH
${CMAKE_INSTALL_RPATH}
${CMAKE_INSTALL_PREFIX}/${SD_LIBDIR}/lib
/usr/${SD_LIBDIR}/lib
)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
CHECK_HEADERS_H()
CHECK_FUNCTIONS()
CHECK_LIBRARIES()
@ -128,31 +144,9 @@ IF(MSVC)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/userman/images/ DESTINATION ./doc/images/)
ENDIF(MSVC)
# Useful for using an installation of SD as a robot development framework without building it.
# Only do for an in source tree build as INSTALL_SD_CMAKE() doesn't seem to use CMAKE_INSTALL_PREFIX
IF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
INSTALL_SD_CMAKE()
ENDIF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
# Must be the last ADD_SUBDIRECTORY for FIXUP_BUNDLE to work
ADD_SUBDIRECTORY(packaging)
# Generate a 'make clobber'-like clobber.sh/.bat script in case of an in-source build.
IF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
SD_GENERATE_CLOBBER_SCRIPT()
ENDIF("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
# Add an unistall target.
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/uninstall.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake" IMMEDIATE @ONLY)
IF(MSVC)
SET(_UNINST_TGT_NAME "UNINSTALL")
ELSE(MSVC)
SET(_UNINST_TGT_NAME "uninstall")
ENDIF(MSVC)
ADD_CUSTOM_TARGET(${_UNINST_TGT_NAME} "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake" )
IF(OPTION_CHECK_CONTENTS)
INCLUDE(cmake/prerelease.cmake)
ENDIF(OPTION_CHECK_CONTENTS)

View file

@ -1,7 +1,3 @@
IF(NOT DEFINED SOURCE_DIR)
MESSAGE(ERROR ": Please first include macro's")
ENDIF(NOT DEFINED SOURCE_DIR)
INCLUDE(CheckIncludeFiles)
INCLUDE(CheckFunctionExists)
INCLUDE(CheckLibraryExists)

View file

@ -159,19 +159,7 @@
# define SD_BUILD_INFO_CONFIGURATION "${CMAKE_BUILD_TYPE}"
#endif
#if defined(_MSC_VER)
# define SD_BUILD_INFO_COMPILER_NAME "MSC"
#elif defined(__GNUC__)
# if defined(__MINGW32__)
# define SD_BUILD_INFO_COMPILER_NAME "MinGW GCC"
# elif defined(__INTEL_COMPILER)
# define SD_BUILD_INFO_COMPILER_NAME "Intel"
# else
# define SD_BUILD_INFO_COMPILER_NAME "GCC"
# endif
#else
# define SD_BUILD_INFO_COMPILER_NAME "Unknown"
#endif
#define SD_BUILD_INFO_COMPILER_NAME "${SD_BUILD_INFO_COMPILER_NAME}"
/* Run-time directories */
#define SD_DATADIR "${SD_DATADIR}/"

View file

@ -114,7 +114,7 @@ FULL_PATH_NAMES = YES
# If left blank the directory from which doxygen is run is used as the
# path to strip.
STRIP_FROM_PATH = @SOURCE_DIR@
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
@ -564,7 +564,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @SOURCE_DIR@/src
INPUT = @CMAKE_SOURCE_DIR@/src
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is

View file

@ -50,8 +50,8 @@ ENDMACRO(_GET_TARGET_REAL_PATHNAME TGT_NAME VAR_PATHNAME)
# Installs bt.so in ${prefix}/${SD_LIBDIR}/drivers/bt
# SD_INSTALL_FILES(BIN TARGETS speed-dreams)
# Installs the speed-dreams target in ${prefix}/${SD_BINDIR}
# SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES sd2-menuview.6)
# Installs ${SOURCE_DIR}/doc/man/sd2-menuview.6 in ${prefix}/${SD_MANDIR}/man6
# SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES sd2-menuview.6)
# Installs ${CMAKE_SOURCE_DIR}/doc/man/sd2-menuview.6 in ${prefix}/${SD_MANDIR}/man6
MACRO(SD_INSTALL_FILES)
SET(SD_INSTALL_FILES_SYNTAX ${SD_INSTALL_FILES_SYNTAX} "LIB,1,1,IS_LIB,LIB_PATH")

View file

@ -20,11 +20,6 @@
#MESSAGE(STATUS "Processing ${CMAKE_CURRENT_SOURCE_DIR} ...")
# By default, we assume an "in-source" build.
IF(NOT DEFINED IN_SOURCETREE)
SET(IN_SOURCETREE TRUE)
ENDIF(NOT DEFINED IN_SOURCETREE)
# Setup the install prefix.
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
IF(WIN32)
@ -36,34 +31,11 @@ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
ENDIF()
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
# Determine the source folder if ???
IF(NOT SOURCE_DIR AND IN_SOURCETREE)
SET(SOURCE_DIR ${CMAKE_SOURCE_DIR})
MARK_AS_ADVANCED(SOURCE_DIR)
ENDIF(NOT SOURCE_DIR AND IN_SOURCETREE)
# The path of the folder of the current CMakeLists.txt
GET_FILENAME_COMPONENT(CURRENT_LIST_FILE_PATH ${CMAKE_CURRENT_LIST_FILE} PATH)
# Macros arg list parsing tools.
IF(NOT _ALREADY_DONE)
INCLUDE(${CURRENT_LIST_FILE_PATH}/splitargn.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/splitargn.cmake)
ENDIF(NOT _ALREADY_DONE)
# Include dir for config.h
IF(IN_SOURCETREE)
FIND_PATH(CONFIGH_INCLUDE_DIR config.h PATHS ${SOURCE_DIR} ${CMAKE_BINARY_DIR} NO_DEFAULT_PATH)
FIND_PATH(CONFIGH_INCLUDE_DIR config.h PATHS ${SOURCE_DIR} ${CMAKE_BINARY_DIR})
MARK_AS_ADVANCED(CONFIGH_INCLUDE_DIR)
IF(CONFIGH_INCLUDE_DIR)
SET(HAVE_CONFIG_H TRUE)
ELSE(CONFIGH_INCLUDE_DIR)
SET(HAVE_CONFIG_H FALSE)
ENDIF(CONFIGH_INCLUDE_DIR)
ELSE(IN_SOURCETREE)
SET(HAVE_CONFIG_H FALSE)
ENDIF(IN_SOURCETREE)
# Determine the default value of the user settings folder.
IF(WIN32)
SET(SD_LOCALDIR "~/speed-dreams-2.settings" CACHE STRING "Where the user settings files should go")
@ -77,86 +49,33 @@ ENDIF(WIN32)
SET(SD_TOOLS_EXECPREFIX "sd2-" CACHE STRING "Prefix for the tools executable names")
MARK_AS_ADVANCED(SD_TOOLS_EXECPREFIX)
# Determine the default value of the data, bin and lib (and man) folders.
IF(IN_SOURCETREE)
IF(CMAKE_SIZEOF_VOID_P MATCHES 4)
SET(_DEFLIBDIR "lib")
ELSE()
SET(_DEFLIBDIR "lib64")
ENDIF()
IF(WIN32)
SET(SD_BINDIR bin CACHE PATH "Place where the executables should go")
SET(SD_LIBDIR ${_DEFLIBDIR} CACHE PATH "Place where the libraries should go")
SET(SD_INCLUDEDIR include CACHE PATH "Place where the include files should go")
ELSE(WIN32) #UNIX
SET(SD_BINDIR games CACHE PATH "Place where the executables should go")
SET(SD_LIBDIR ${_DEFLIBDIR}/games/speed-dreams-2 CACHE PATH "Place where the libraries should go")
SET(SD_INCLUDEDIR include/speed-dreams-2 CACHE PATH "Place where the include files should go")
SET(SD_MANDIR share/man CACHE PATH "Place where the manual pages should go")
ENDIF(WIN32)
MARK_AS_ADVANCED(SD_BINDIR)
MARK_AS_ADVANCED(SD_LIBDIR)
MARK_AS_ADVANCED(SD_INCLUDEDIR)
IF(UNIX)
MARK_AS_ADVANCED(SD_MANDIR)
ENDIF(UNIX)
ELSE(IN_SOURCETREE)
SET(SD_LIBDIR ${SD_LIBDIR_ABS})
SET(SD_BINDIR ${SD_BINDIR_ABS})
SET(SD_INCLUDEDIR ${SD_INCLUDEDIR_ABS})
IF(UNIX)
SET(SD_MANDIR ${SD_MANDIR_ABS})
ENDIF(UNIX)
ENDIF(IN_SOURCETREE)
IF(WIN32)
SET(SD_BINDIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Place where the executables should go")
ELSE()
SET(SD_BINDIR games CACHE PATH "Place where the executables should go")
ENDIF()
# Determine the aboslute paths of the data, bin and lib (and man) folders.
IF(IS_ABSOLUTE ${SD_LIBDIR})
GET_FILENAME_COMPONENT(SD_LIBDIR_ABS ${SD_LIBDIR} ABSOLUTE)
ELSE(IS_ABSOLUTE ${SD_LIBDIR})
GET_FILENAME_COMPONENT(SD_LIBDIR_ABS ${CMAKE_INSTALL_PREFIX}/${SD_LIBDIR} ABSOLUTE)
ENDIF(IS_ABSOLUTE ${SD_LIBDIR})
IF(IS_ABSOLUTE ${SD_BINDIR})
GET_FILENAME_COMPONENT(SD_BINDIR_ABS ${SD_BINDIR} ABSOLUTE)
ELSE(IS_ABSOLUTE ${SD_BINDIR})
GET_FILENAME_COMPONENT(SD_BINDIR_ABS ${CMAKE_INSTALL_PREFIX}/${SD_BINDIR} ABSOLUTE)
ENDIF(IS_ABSOLUTE ${SD_BINDIR})
IF(IS_ABSOLUTE ${SD_INCLUDEDIR})
GET_FILENAME_COMPONENT(SD_INCLUDEDIR_ABS ${SD_INCLUDEDIR} ABSOLUTE)
ELSE(IS_ABSOLUTE ${SD_INCLUDEDIR})
GET_FILENAME_COMPONENT(SD_INCLUDEDIR_ABS ${CMAKE_INSTALL_PREFIX}/${SD_INCLUDEDIR} ABSOLUTE)
ENDIF(IS_ABSOLUTE ${SD_INCLUDEDIR})
IF(UNIX)
IF(IS_ABSOLUTE ${SD_MANDIR})
GET_FILENAME_COMPONENT(SD_MANDIR_ABS ${SD_MANDIR} ABSOLUTE)
ELSE(IS_ABSOLUTE ${SD_MANDIR})
GET_FILENAME_COMPONENT(SD_MANDIR_ABS ${CMAKE_INSTALL_PREFIX}/${SD_MANDIR} ABSOLUTE)
ENDIF(IS_ABSOLUTE ${SD_MANDIR})
ENDIF(UNIX)
SET(SD_LIBDIR ${CMAKE_INSTALL_LIBDIR}/games/speed-dreams-2 CACHE PATH "Place where the libraries should go")
SET(SD_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}/speed-dreams-2 CACHE PATH "Place where the include files should go")
SET(SD_MANDIR ${CMAKE_INSTALL_MANDIR} CACHE PATH "Place where the manual pages should go")
STRING(REGEX REPLACE "^(.*[^/])/*$" "\\1" SD_LOCALDIR_TMP ${SD_LOCALDIR})
SET(SD_LOCALDIR ${SD_LOCALDIR_TMP})
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CURRENT_LIST_FILE_PATH})
SET(CMAKE_INSTALL_RPATH "${SD_LIBDIR_ABS}/lib")
# Configuration options macros.
INCLUDE(${CURRENT_LIST_FILE_PATH}/options.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/options.cmake)
# Robots-related macros.
INCLUDE(${CURRENT_LIST_FILE_PATH}/robot.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/robot.cmake)
# Robots-related macros.
INCLUDE(${CURRENT_LIST_FILE_PATH}/install.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/install.cmake)
# Internal dependencies macros (includes and libs).
INCLUDE(${CURRENT_LIST_FILE_PATH}/internaldeps.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/internaldeps.cmake)
# 3rd party dependencies macros (includes and libs).
INCLUDE(${CURRENT_LIST_FILE_PATH}/thirdpartydeps.cmake)
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/thirdpartydeps.cmake)
# Use as a replacement of native ADD_DIRECTORY if the target folder may be optional
# (if it is actually not there, and OPTION_CHECK_CONTENTS is Off,
@ -272,116 +191,8 @@ MACRO(SD_ADD_LIBRARY TARGET_NAME TARGET_TYPE)
ENDMACRO(SD_ADD_LIBRARY TARGET_NAME TARGET_TYPE)
# Generate clobber.sh/bat shell script (remove _any_ build system generated file)
MACRO(SD_GENERATE_CLOBBER_SCRIPT)
IF(MSVC)
SET(TGT_SCRIPT "${SOURCE_DIR}/clobber.bat")
FILE(WRITE "${TGT_SCRIPT}" "@echo off\n")
FILE(APPEND "${TGT_SCRIPT}" "rem CMake-generated script for in-source build tree total cleanup\n")
FILE(APPEND "${TGT_SCRIPT}" "rem (remove any build-system-generated file (+ .bak, *~, ... etc), \n")
FILE(APPEND "${TGT_SCRIPT}" "rem in case you want to get back to something like\n")
FILE(APPEND "${TGT_SCRIPT}" "rem right after a 'svn checkout' command).\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "rem Check if we are on top of a CMake-enabled SD source tree\n")
FILE(APPEND "${TGT_SCRIPT}" "if not exist CMakeLists.txt goto ERROR\n")
FILE(APPEND "${TGT_SCRIPT}" "if not exist cmake goto ERROR\n")
FILE(APPEND "${TGT_SCRIPT}" "if not exist data goto ERROR\n")
FILE(APPEND "${TGT_SCRIPT}" "if not exist src goto ERROR\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "echo Cleaning up in-source build tree ...\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "rem CMake/compiler generated files and dirs\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "del CMakeCache.txt\n")
FILE(APPEND "${TGT_SCRIPT}" "del CMakeLists.txt.user\n")
FILE(APPEND "${TGT_SCRIPT}" "del config.h\n")
FILE(APPEND "${TGT_SCRIPT}" "del CPackConfig.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" "del CPackSourceConfig.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" "del uninstall.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" "del doxygen_config\n")
FILE(APPEND "${TGT_SCRIPT}" "del install_manifest.txt\n")
FILE(APPEND "${TGT_SCRIPT}" "del speed-dreams-2.ncb\n")
FILE(APPEND "${TGT_SCRIPT}" "del /ah speed-dreams-2.suo\n")
FILE(APPEND "${TGT_SCRIPT}" "del speed-dreams-2.sln\n")
FILE(APPEND "${TGT_SCRIPT}" "del version.h\n")
FILE(APPEND "${TGT_SCRIPT}" "del xmlversion_loc.txt\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.vcproj*\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q cmake_install.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" "for /f \"tokens=*\" %%G in ('dir /b /ad /s CMakeFiles*') do rmdir /s /q %%G\n")
FILE(APPEND "${TGT_SCRIPT}" "for /f \"tokens=*\" %%G in ('dir /b /ad /s *.dir') do rmdir /s /q %%G\n")
FILE(APPEND "${TGT_SCRIPT}" "for /f \"tokens=*\" %%G in ('dir /b /ad /s Debug*') do rmdir /s /q %%G\n")
FILE(APPEND "${TGT_SCRIPT}" "for /f \"tokens=*\" %%G in ('dir /b /ad /s Release*') do rmdir /s /q %%G\n")
FILE(APPEND "${TGT_SCRIPT}" "rmdir /s /q _CPack_Packages\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "rem Other useless files\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.*~\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.~*\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.bak\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.flc\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.orig\n")
FILE(APPEND "${TGT_SCRIPT}" "del /s /q *.cbp\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "echo Done.\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "goto END\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" ":ERROR\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "echo Bad current dir for that ; please run from the root folder of a CMake-enabled SD source tree.\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" ":END\n")
ELSE(MSVC)
SET(TGT_SCRIPT "${SOURCE_DIR}/clobber.sh")
FILE(WRITE "${TGT_SCRIPT}" "#!/bin/sh\n")
FILE(APPEND "${TGT_SCRIPT}" "# CMake-generated script for in-source build tree total cleanup\n")
FILE(APPEND "${TGT_SCRIPT}" "# (remove any build-system-generated file (+ .bak, *~, ... etc), \n")
FILE(APPEND "${TGT_SCRIPT}" "# in case you want to get back to something like\n")
FILE(APPEND "${TGT_SCRIPT}" "# right after a 'svn checkout' command).\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" "# Check if we are on top of a CMake-enabled SD source tree\n")
FILE(APPEND "${TGT_SCRIPT}" "if [ -f CMakeLists.txt -a -d cmake -a -d data -a -d src ] ; then\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" " echo \"Cleaning up in-source build tree ...\"\n")
FILE(APPEND "${TGT_SCRIPT}" " \n")
FILE(APPEND "${TGT_SCRIPT}" " # CMake/compiler generated files and dirs\n")
FILE(APPEND "${TGT_SCRIPT}" " rm -f CMakeCache.txt CMakeLists.txt.user config.h doxygen_config\n")
FILE(APPEND "${TGT_SCRIPT}" " rm -f CPackConfig.cmake CPackSourceConfig.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" " rm -f uninstall.cmake\n")
FILE(APPEND "${TGT_SCRIPT}" " rm -f xmlversion_loc.txt install_manifest.txt version.h.txt\n")
FILE(APPEND "${TGT_SCRIPT}" " rm -fr _CPack_Packages\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -depth -type d -name \"CMakeFiles\" -exec rm -fr {} \\;\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"cmake_install.cmake\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"Makefile\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.so\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find src/tools -type f -name \"sd2-*\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find src/tools/xmlversion -type f -name \"xmlversion\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find src/main -type f -name \"speed-dreams-2\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" "\n")
FILE(APPEND "${TGT_SCRIPT}" " # Other useless files\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.rej\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.orig\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.flc\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.bak\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.cbp\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.a\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*~\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " find . -type f -name \"*.~*\" -delete\n")
FILE(APPEND "${TGT_SCRIPT}" " \n")
FILE(APPEND "${TGT_SCRIPT}" " echo \"Done.\"\n")
FILE(APPEND "${TGT_SCRIPT}" " \n")
FILE(APPEND "${TGT_SCRIPT}" "else\n")
FILE(APPEND "${TGT_SCRIPT}" " echo \"Bad current dir for that ; please run from the root folder of a CMake-enabled SD source tree.\"\n")
FILE(APPEND "${TGT_SCRIPT}" "fi\n")
EXECUTE_PROCESS(COMMAND chmod ugo+x ${TGT_SCRIPT})
ENDIF(MSVC)
ENDMACRO(SD_GENERATE_CLOBBER_SCRIPT)
ADD_COMPILE_DEFINITIONS(HAVE_CONFIG_H)
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
# Add non-default compile options.
ADD_SD_COMPILE_OPTIONS()

View file

@ -22,27 +22,6 @@ INCLUDE(CMakeDependentOption)
MACRO(ADD_SD_COMPILE_OPTIONS)
# This has to be done more than once, because HAVE_CONFIG_H may change.
IF(HAVE_CONFIG_H)
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
IF(IN_SOURCETREE)
SET(INCLUDE_CANDIDATE ${SOURCE_DIR})
ELSE(IN_SOURCETREE)
SET(INCLUDE_CANDIDATE "")
ENDIF(IN_SOURCETREE)
FIND_PATH(CONFIGH_INCLUDE_DIR config.h ${INCLUDE_CANDIDATE} /usr/include /usr/local/include NO_DEFAULT_PATH)
FIND_PATH(CONFIGH_INCLUDE_DIR config.h ${INCLUDE_CANDIDATE} /usr/include /usr/local/include)
MARK_AS_ADVANCED(CONFIGH_INCLUDE_DIR)
IF(CONFIGH_INCLUDE_DIR)
INCLUDE_DIRECTORIES(${CONFIGH_INCLUDE_DIR})
ELSE(CONFIGH_INCLUDE_DIR)
MESSAGE(FATAL_ERROR "Cannot find config.h header file")
ENDIF(CONFIGH_INCLUDE_DIR)
ENDIF(HAVE_CONFIG_H)
# Build options (do it only once).
IF(NOT _ALREADY_DONE)

View file

@ -64,11 +64,7 @@ MACRO(GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE)
# Generate the .def file
SET(ROBOT_NAME "${ROBOTNAME}")
IF(IN_SOURCETREE)
CONFIGURE_FILE(${SOURCE_DIR}/cmake/robot.def.in.cmake ${DEF_FILE})
ELSE(IN_SOURCETREE)
CONFIGURE_FILE(${SD_DATADIR}/cmake/robot.def.in.cmake ${DEF_FILE})
ENDIF(IN_SOURCETREE)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/robot.def.in.cmake ${DEF_FILE})
ENDMACRO(GENERATE_ROBOT_DEF_FILE ROBOTNAME DEF_FILE)

View file

@ -1,20 +0,0 @@
# CMake script behind the 'uninstall' target.
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" FILES_TO_REMOVE)
STRING(REGEX REPLACE "\n" ";" FILES_TO_REMOVE "${FILES_TO_REMOVE}")
FOREACH(FILE_TO_REMOVE ${FILES_TO_REMOVE})
MESSAGE(STATUS "Uninstalling: $ENV{DESTDIR}${FILE_TO_REMOVE}")
IF(EXISTS "$ENV{DESTDIR}${FILE_TO_REMOVE}")
EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${FILE_TO_REMOVE}\""
OUTPUT_VARIABLE RM_OUT RETURN_VALUE RM_RETVAL)
IF(NOT "${RM_RETVAL}" STREQUAL "0")
MESSAGE(FATAL_ERROR "Failed to remove $ENV{DESTDIR}${FILE_TO_REMOVE} (err code ${RM_RETVAL})")
ENDIF(NOT "${RM_RETVAL}" STREQUAL "0")
ELSE(EXISTS "$ENV{DESTDIR}${FILE_TO_REMOVE}")
MESSAGE(STATUS "File \"$ENV{DESTDIR}${FILE_TO_REMOVE}\" does not exist.")
ENDIF(EXISTS "$ENV{DESTDIR}${FILE_TO_REMOVE}")
ENDFOREACH(FILE_TO_REMOVE)

View file

@ -45,7 +45,7 @@ IF(MINGW)
ENDIF(MINGW)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})

View file

@ -55,7 +55,7 @@ SET(CONFSCREENS_HEADERS ${CS}/confscreens.h ${CS}/advancedgraphconfig.h
SET(RS racescreens)
SET(RACESCREENS_SOURCES ${RS}/raceselectmenu.cpp
#${RS}/raceweekendmenu.cpp
${RS}/racemanmenu.cpp ${RS}/fileselect.cpp ${RS}/networkingmenu.cpp
${RS}/racemanmenu.cpp ${RS}/fileselect.cpp
${RS}/raceconfigstate.cpp
${RS}/trackselect.cpp ${RS}/driverselect.cpp ${RS}/garagemenu.cpp
${RS}/raceparamsmenu.cpp ${RS}/carsetupmenu.cpp
@ -67,6 +67,8 @@ IF(OPTION_CLIENT_SERVER)
SET(RACESCREENS_SOURCES ${RACESCREENS_SOURCES} ${RS}/csnetworkingmenu.cpp
${RS}/csnetclientsettings.cpp
${RS}/csnetserversettings.cpp)
ELSE()
SET(RACESCREENS_SOURCES ${RACESCREENS_SOURCES} ${RS}/networkingmenu.cpp)
ENDIF(OPTION_CLIENT_SERVER)
SET(RACESCREENS_HEADERS ${RS}/racescreens.h ${RS}/garagemenu.h ${RS}/carsetupmenu.h) #${RS}/raceweekendscreens.h)

View file

@ -22,7 +22,6 @@
Should also allow choosing IP address, track, etc ...
*/
#ifndef CLIENT_SERVER
#include <cstdlib>
#include <cstdio>
#include <string>
@ -1110,4 +1109,3 @@ GetHumanDriver(NetDriver &driver,int index)
return 1;
}
#endif // #ifndef CLIENT_SERVER

View file

@ -15,7 +15,7 @@ SD_ADD_EXECUTABLE(${_TARGET_NAME} ${ACCC_SOURCES} ${ACCC_HEADERS})
ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})

View file

@ -47,7 +47,7 @@ IF(MINGW)
ENDIF(MINGW)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})

View file

@ -13,7 +13,7 @@ SD_ADD_EXECUTABLE(${_TARGET_NAME} ${NFS2AC_SOURCES})
ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})

View file

@ -19,7 +19,7 @@ ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability tgf txml) # txml ignored if OPTION
ADD_DL_LIBRARY(${_TARGET_NAME})
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})

View file

@ -51,7 +51,7 @@ IF(MINGW)
ENDIF(MINGW)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
SD_INSTALL_FILES(MAN man6 PREFIX ${CMAKE_SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})