Separate profiling and debugging options, and only use GCC options if the compiler...
[supertux.git] / CMakeLists.txt
index c77d58b..3008a4f 100644 (file)
@@ -134,6 +134,13 @@ MARK_AS_ADVANCED(
 INCLUDE_DIRECTORIES(${PHYSFS_INCLUDE_DIR})
 LINK_LIBRARIES(${PHYSFS_LIBRARY})
 
+FIND_PACKAGE(CURL)
+IF(${CURL_FOUND})
+  INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
+  LINK_LIBRARIES(${CURL_LIBRARY})
+  SET(HAVE_LIBCURL TRUE)
+ENDIF(${CURL_FOUND})
+
 #FIND_PACKAGE(ICONV REQUIRED)
 #INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
 #LINK_LIBRARIES(${ICONV_LIBRARY})
@@ -214,17 +221,27 @@ ENDIF(NOT EXISTS ${SUPERTUX_SOURCE_DIR}/src/scripting/wrapper.cpp)
 ## Debug options
 
 OPTION(DEBUG "Build with debugging options" FALSE)
-IF (DEBUG)
-       REMOVE_DEFINITIONS(-O2)
-       ADD_DEFINITIONS(-O0 -g -pg -Wall -Werror)
-ELSE (DEBUG)
-       ADD_DEFINITIONS(-O2)
-       REMOVE_DEFINITIONS(-O0 -g -pg -Wall -Werror)
-ENDIF (DEBUG)
+OPTION(PROFILE "Build with profiling information" FALSE)
+IF(CMAKE_COMPILER_IS_GNUCC)
+  IF (DEBUG)
+    REMOVE_DEFINITIONS(-O2)
+    ADD_DEFINITIONS(-O0 -g -Wall -Werror)
+  ELSE (DEBUG)
+    ADD_DEFINITIONS(-O2)
+    REMOVE_DEFINITIONS(-O0 -g -Wall -Werror)
+  ENDIF (DEBUG)
+  IF (PROFILE)
+    ADD_DEFINITIONS(-pg)
+  ELSE (PROFILE)
+    REMOVE_DEFINITIONS(-pg)
+  ENDIF (PROFILE)
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
 
 
 ## Some additional compiler switches
-ADD_DEFINITIONS(-fno-strict-aliasing)
+IF(CMAKE_COMPILER_IS_GNUCC)
+  ADD_DEFINITIONS(-fno-strict-aliasing)
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
 
 
 ## Generate supertux executable in the right place