summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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