### CMake configuration
-# allow building with old CMake. Use some bundled modules as a fallback
+# allow building with old CMake. Set compatibility options. Use some bundled modules as a fallback
CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
+IF(COMMAND cmake_policy)
+ CMAKE_POLICY(SET CMP0003 NEW)
+ENDIF(COMMAND cmake_policy)
+
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SUPERTUX_SOURCE_DIR}/mk/cmake)
# move some config clutter to the advanced section
#LINK_LIBRARIES(${ICONV_LIBRARY})
## Find revision of WC
-FIND_PACKAGE(Subversion)
-IF(Subversion_FOUND)
- Subversion_WC_INFO(${SUPERTUX_SOURCE_DIR} SUPERTUX)
+MARK_AS_ADVANCED(SVNVERSION_EXECUTABLE)
+FIND_PROGRAM(SVNVERSION_EXECUTABLE svnversion)
+IF(SVNVERSION_EXECUTABLE)
+ EXECUTE_PROCESS(COMMAND svnversion -n ${SUPERTUX_SOURCE_DIR}
+ OUTPUT_VARIABLE SUPERTUX_WC_REVISION)
SET(REVISION " r${SUPERTUX_WC_REVISION}")
-ENDIF(Subversion_FOUND)
+ENDIF(SVNVERSION_EXECUTABLE)
## Check platform-dependent build options
## Debug options
-OPTION(DEBUG "Build with debugging options" OFF)
-OPTION(PROFILE "Build with profiling information" OFF)
OPTION(WERROR "Stops on first compiler warning in debug mode" ON)
IF(CMAKE_COMPILER_IS_GNUCC)
- ADD_DEFINITIONS(-Wall -W)
- IF (DEBUG)
- REMOVE_DEFINITIONS(-O2)
- ADD_DEFINITIONS(-O0 -g)
- IF(WERROR)
- ADD_DEFINITIONS(-Werror)
- ENDIF(WERROR)
- ELSE (DEBUG)
- ADD_DEFINITIONS(-O2)
- REMOVE_DEFINITIONS(-O0 -g)
- ENDIF (DEBUG)
- IF (PROFILE)
- ADD_DEFINITIONS(-pg)
- ELSE (PROFILE)
- REMOVE_DEFINITIONS(-pg)
- ENDIF (PROFILE)
+ ADD_DEFINITIONS(-Wall -Wextra)
+ SET(CMAKE_CXX_FLAGS_PROFILE "-pg")
+ SET(CMAKE_C_FLAGS_PROFILE "-pg")
+ SET(CMAKE_LD_FLAGS_PROFILE "-pg")
+ IF(WERROR)
+ ADD_DEFINITIONS(-Werror)
+ ENDIF(WERROR)
ENDIF(CMAKE_COMPILER_IS_GNUCC)
## Add in squirrel debug stuff
INSTALL(FILES ${SUPERTUX_SOURCE_DIR}/data/credits.txt DESTINATION ${INSTALL_SUBDIR_SHARE})
INSTALL(DIRECTORY data/images DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)
+INSTALL(DIRECTORY data/fonts DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)
INSTALL(DIRECTORY data/levels DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)
INSTALL(DIRECTORY data/music DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)
INSTALL(DIRECTORY data/scripts DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)