- sounds are on both channels
[supertux.git] / CMakeLists.txt
index 00b9874..8f60072 100644 (file)
@@ -58,6 +58,11 @@ TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
 
 ## Add lots of dependencies to compiler switches
 
+SET(Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0")
+FIND_PACKAGE(Boost REQUIRED)
+INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIR})
+LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
+
 FIND_PACKAGE(SDL REQUIRED)
 INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR})
 SET(HAVE_SDL TRUE)
@@ -169,7 +174,7 @@ IF(PRECOMPILE_HEADERS)
   )
   ## Make certain it is built
   SET(SUPERTUX_SOURCES_CXX ${CMAKE_CURRENT_BINARY_DIR}/precompile.hh.gch ${SUPERTUX_SOURCES_CXX})
-  SET(CMAKE_CXX_FLAGS "-include ${CMAKE_CURRENT_BINARY_DIR}/precompile.hh" ${CMAKE_CXX_FLAGS})
+  SET(CMAKE_CXX_FLAGS "-include ${CMAKE_CURRENT_BINARY_DIR}/precompile.hh ${CMAKE_CXX_FLAGS}")
 ELSE(PRECOMPILE_HEADERS)
   IF(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/precompile.hh)
     FILE(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/precompile.hh)
@@ -185,20 +190,20 @@ ENDIF(PRECOMPILE_HEADERS)
 OPTION(WERROR "Stop on first compiler warning" OFF)
 OPTION(WARNINGS "Enable long list of warnings for compiler to check" ON)
 IF(CMAKE_COMPILER_IS_GNUCC)
+  SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "Debug flags")
+  SET(CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "Debug flags")
+  SET(CMAKE_CXX_FLAGS_PROFILE "-pg" CACHE STRING "Profile flags")
+  SET(CMAKE_C_FLAGS_PROFILE "-pg" CACHE STRING "Profile flags")
+  SET(CMAKE_LD_FLAGS_PROFILE "-lgmon" CACHE STRING "Profile flags")
   ADD_DEFINITIONS(-Wall -Wextra -funit-at-a-time)
-  SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-  SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-  SET(CMAKE_CXX_FLAGS_PROFILE "-pg")
-  SET(CMAKE_C_FLAGS_PROFILE "-pg")
-  SET(CMAKE_LD_FLAGS_PROFILE "-pg")
   IF(WERROR)
     ADD_DEFINITIONS(-Werror)
   ELSE(WERROR)
     REMOVE_DEFINITIONS(-Werror)
   ENDIF(WERROR)
   IF(WARNINGS)
-    SET(CMAKE_C_FLAGS "-fdiagnostics-show-option -pedantic -Wno-long-long -Wcast-align -Wdisabled-optimization -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wredundant-decls -Wstack-protector")
-    SET(CMAKE_CXX_FLAGS "-fdiagnostics-show-option -pedantic -Wno-long-long -Weffc++ -Wabi -Wctor-dtor-privacy -Wstrict-null-sentinel -Wcast-align -Wdisabled-optimization -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wredundant-decls -Wstack-protector")
+    ADD_DEFINITIONS(-fdiagnostics-show-option -pedantic -Wno-long-long -Wcast-align -Wdisabled-optimization -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wredundant-decls -Wstack-protector)
+    SET(CMAKE_CXX_FLAGS "-Weffc++ -Wabi -Wctor-dtor-privacy -Wstrict-null-sentinel" CACHE STRING "CXX Flags")
     # -ansi fails in MinGW
     # still left:  -Wold-style-cast -Wpadded -Wconversion -Wundef -Wsign-conversion -Wshadow -Winline -Wunsafe-loop-optimizations -Wfloat-equal -Wswitch-default -Wswitch-enum -Wcast-qual -Wsign-promo -Woverloaded-virtual -Wmissing-format-attribute -Wstrict-overflow=5 -Wformat=2
   ENDIF(WARNINGS)
@@ -446,6 +451,11 @@ MARK_AS_ADVANCED(
 )
 
 MARK_AS_ADVANCED(
+       Boost_INCLUDE_DIR
+       Boost_LIBRARIES
+)
+
+MARK_AS_ADVANCED(
        SDLMAIN_LIBRARY
        SDL_INCLUDE_DIR
        SDL_LIBRARY