X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=CMakeLists.txt;h=ca212d47b645f14943363775667befa612de3624;hb=0262a9c0ae29d375e8174038d8cc81ebbeb10215;hp=975c5f02973eb27cb013524f7e826ae6857bc617;hpb=ec05b8e317929f2572f31896639947fb7200d0d0;p=supertux.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 975c5f029..ca212d47b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,13 +164,18 @@ FILE(GLOB SUPERTUX_SOURCES RELATIVE ${SUPERTUX_SOURCE_DIR} src/*.cpp src/audio/* 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 -Wall -Werror) + ADD_DEFINITIONS(-O0 -g) + IF(WERROR) + ADD_DEFINITIONS(-Werror) + ENDIF(WERROR) ELSE (DEBUG) ADD_DEFINITIONS(-O2) - REMOVE_DEFINITIONS(-O0 -g -Wall -Werror) + REMOVE_DEFINITIONS(-O0 -g) ENDIF (DEBUG) IF (PROFILE) ADD_DEFINITIONS(-pg) @@ -193,13 +198,15 @@ ENDIF(ENABLE_SQDBG) OPTION(GENERATE_WRAPPER "Build miniswig and generate the wrapper" ${DEBUG}) IF(GENERATE_WRAPPER) ADD_SUBDIRECTORY(tools/miniswig) + FILE(GLOB GENERATE_WRAPPER_SOURCES RELATIVE ${SUPERTUX_SOURCE_DIR} src/scripting/*.?pp) + LIST(REMOVE_ITEM GENERATE_WRAPPER_SOURCES "src/scripting/wrapper.cpp" "src/scripting/wrapper.hpp") ADD_CUSTOM_COMMAND( OUTPUT ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.cpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.hpp COMMAND cd ${SUPERTUX_SOURCE_DIR} && ${CMAKE_CXX_COMPILER} ARGS -x "c++" -E -CC -DSCRIPTING_API src/scripting/wrapper.interface.hpp -o ${SUPERTUX_BINARY_DIR}/miniswig.tmp COMMAND tools/miniswig/miniswig ARGS --input miniswig.tmp --output-cpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.cpp --output-hpp ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.hpp --module supertux --select-namespace Scripting - DEPENDS src/scripting/wrapper.interface.hpp tools/miniswig/miniswig + DEPENDS ${GENERATE_WRAPPER_SOURCES} tools/miniswig/miniswig ) ENDIF(GENERATE_WRAPPER)