summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2018-02-09 20:51:15 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2018-02-09 20:51:15 +0000
commitc7b5d61eb002674bf3793ff38ceaa1c096b9c4dc (patch)
tree56448410ea3e63d60986f20f9e0437dd1e5a24eb
parent0012debf3773221a231c40794d09021f0c75c3cf (diff)
CMake: add macro fl_debug_var to debug variables.
Some debug messages are included, but currently disabled. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12658 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CMake/macros.cmake32
-rw-r--r--CMake/options.cmake20
-rw-r--r--CMakeLists.txt24
3 files changed, 63 insertions, 13 deletions
diff --git a/CMake/macros.cmake b/CMake/macros.cmake
index c8b79b390..1118a9f17 100644
--- a/CMake/macros.cmake
+++ b/CMake/macros.cmake
@@ -1,10 +1,10 @@
#
# "$Id$"
#
-# macros.cmake defines macros used by the CMake build system
+# Macros used by the CMake build system for the Fast Light Tool Kit (FLTK).
# Written by Michael Surette
#
-# Copyright 1998-2017 by Bill Spitzak and others.
+# Copyright 1998-2018 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
@@ -18,6 +18,34 @@
#
#######################################################################
+# macros used for debugging purposes
+#######################################################################
+
+# This macro displays the name and value of a CMake variable.
+# The variable name is expanded with spaces to be (at least)
+# <min_len> (currently 24) characters wide for better readability.
+# VARNAME must be a string literal, e.g. WIN32 or "WIN32".
+#
+# Syntax:
+# fl_debug_var(VARNAME)
+#
+# Example:
+# fl_debug_var(WIN32)
+# fl_debug_var("UNIX")
+#
+
+macro (fl_debug_var name)
+ set (min_len 24)
+ set (var "${name}")
+ string(LENGTH "${var}" len)
+ while (len LESS min_len)
+ string(APPEND var " ")
+ string(LENGTH "${var}" len)
+ endwhile (len LESS min_len)
+ message (STATUS "${var} = '${${name}}'")
+endmacro (fl_debug_var)
+
+#######################################################################
# macros used by the build system
#######################################################################
macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES)
diff --git a/CMake/options.cmake b/CMake/options.cmake
index cfb379459..da4d781bc 100644
--- a/CMake/options.cmake
+++ b/CMake/options.cmake
@@ -243,20 +243,18 @@ else (OPTION_USE_THREADS)
endif (OPTION_USE_THREADS)
-set(debug_threads FALSE) # set to true to show debug info
+set (debug_threads 0) # set to 1 to show debug info
if (debug_threads)
message ("")
- message (STATUS "NOTE: set debug_threads to FALSE to disable this info!")
- message (STATUS "WIN32 = '${WIN32}'")
- message (STATUS "MINGW = '${MINGW}'")
- message (STATUS "CYGWIN = '${CYGWIN}'")
- message (STATUS "OPTION_USE_THREADS = '${OPTION_USE_THREADS}'")
- message (STATUS "HAVE_PTHREAD = '${HAVE_PTHREAD}'")
- message (STATUS "HAVE_PTHREAD_H = '${HAVE_PTHREAD_H}'")
- message (STATUS "FLTK_THREADS_FOUND = '${FLTK_THREADS_FOUND}'")
- message (STATUS "CMAKE_EXE_LINKER_FLAGS = '${CMAKE_EXE_LINKER_FLAGS}'")
+ message (STATUS "options.cmake: set debug_threads to 0 to disable the following info:")
+ fl_debug_var(OPTION_USE_THREADS)
+ fl_debug_var(HAVE_PTHREAD)
+ fl_debug_var(HAVE_PTHREAD_H)
+ fl_debug_var(FLTK_THREADS_FOUND)
+ fl_debug_var(CMAKE_EXE_LINKER_FLAGS)
+ message (STATUS "options.cmake: end of debug_threads info.")
endif (debug_threads)
-unset(debug_threads)
+unset (debug_threads)
#######################################################################
option(OPTION_LARGE_FILE "enable large file support" ON)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c70f65074..3e47544a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,6 +45,30 @@ include(CMake/resources.cmake)
include(CMake/options.cmake)
#######################################################################
+# print (debug) several build variables and options
+#######################################################################
+
+set (debug_build 0) # set to 1 to show debug info
+if (debug_build)
+ message ("")
+ message (STATUS "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt: set debug_build to 0 to disable the following info:")
+ fl_debug_var(WIN32)
+ fl_debug_var(MINGW)
+ fl_debug_var(CYGWIN)
+ fl_debug_var(MSVC)
+ fl_debug_var(UNIX)
+ fl_debug_var(APPLE)
+ fl_debug_var(CMAKE_BUILD_TYPE)
+ fl_debug_var(CMAKE_SIZEOF_VOID_P)
+ fl_debug_var(OPTION_OPTIM)
+ fl_debug_var(CMAKE_C_FLAGS)
+ fl_debug_var(CMAKE_CXX_FLAGS)
+ fl_debug_var(CMAKE_EXE_LINKER_FLAGS)
+ message (STATUS "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt: end of debug_build info.")
+endif (debug_build)
+unset (debug_build)
+
+#######################################################################
# variables shared by export and install
# export.cmake creates configuration files for direct use in a built but uninstalled FLTK
# install.cmake creates these files for an installed FLTK