main: do not capture the whole environment in lambdas
[staging/windowmanager.git] / CMakeLists.txt
index cc6c88a..1654333 100644 (file)
@@ -40,10 +40,17 @@ macro(wlproto var_basename proto_xml_basename)
    include_directories(${CMAKE_CURRENT_BINARY_DIR})
 endmacro()
 
-add_definitions(-D_GNU_SOURCE -DDEBUG_OUTPUT)
+set(ENABLE_DEBUG_OUTPUT OFF CACHE BOOL "Enable debug logging")
+if(ENABLE_DEBUG_OUTPUT)
+   add_definitions(-DDEBUG_OUTPUT)
+else()
+   remove_definitions(-DDEBUG_OUTPUT)
+endif()
+
+add_definitions(-D_GNU_SOURCE)
 
-set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c99 ${CMAKE_C_FLAGS}")
-set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -std=c++14 ${CMAKE_CXX_FLAGS}")
+set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-comment -Wno-unused-parameter -fvisibility=hidden -std=c99 ${CMAKE_C_FLAGS}")
+set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-comment -Wno-unused-parameter -fvisibility=hidden -std=c++14 ${CMAKE_CXX_FLAGS}")
 
 set(SANITIZER_MODE "none" CACHE STRING "Build using a specific sanitizer (e.g. 'address', 'thread', 'leak', 'undefined'), depends on compiler; default none")
 if (NOT ${SANITIZER_MODE} STREQUAL "none" AND NOT ${SANITIZER_MODE} STREQUAL "")