Revision: 77898
http://sourceforge.net/p/brlcad/code/77898
Author: starseeker
Date: 2020-12-03 17:03:39 +0000 (Thu, 03 Dec 2020)
Log Message:
-----------
Headers, footers, ws
Modified Paths:
--------------
brlcad/branches/extbuild/misc/CMake/BRLCAD_Build_Types.cmake
brlcad/branches/extbuild/misc/CMake/BRLCAD_CPack.cmake
brlcad/branches/extbuild/misc/CMake/BRLCAD_Environment_Setup.cmake
brlcad/branches/extbuild/misc/CMake/BRLCAD_Install_Prefix.cmake
brlcad/branches/extbuild/misc/CMake/BRLCAD_Targets.cmake
brlcad/branches/extbuild/misc/CMake/BRLCAD_User_Options.cmake
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_Build_Types.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_Build_Types.cmake
2020-12-03 16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_Build_Types.cmake
2020-12-03 17:03:39 UTC (rev 77898)
@@ -1,3 +1,38 @@
+# B R L C A D _ B U I L D _ T Y P E S . C M A K E
+# BRL-CAD
+#
+# Copyright (c) 2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
#---------------------------------------------------------------------
# CMake by default provides four different configurations for multi-
# configuration build tools. We want only two - Debug and Release.
@@ -64,3 +99,10 @@
mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_CPack.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_CPack.cmake 2020-12-03
16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_CPack.cmake 2020-12-03
17:03:39 UTC (rev 77898)
@@ -1,3 +1,38 @@
+# B R L C A D _ C P A C K . C M A K E
+# BRL-CAD
+#
+# Copyright (c) 2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
configure_file("${BRLCAD_CMAKE_DIR}/source_archive_setup.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/source_archive_setup.cmake" @ONLY)
DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/source_archive_setup.cmake")
@@ -15,8 +50,8 @@
# If we're not on Windows, set the install prefix and create
# TGZ and TBZ2 packages by default
if(NOT WIN32)
- set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
- set(CPACK_GENERATOR TGZ TBZ2)
+ set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ set(CPACK_GENERATOR TGZ TBZ2)
endif(NOT WIN32)
# If we have RPMBUILD and it's not explicitly disabled, assume we're making an
RPM.
@@ -24,118 +59,118 @@
mark_as_advanced(RPMBUILD_EXEC)
if(RPMBUILD_EXEC AND NOT CPACK_RPM_SKIP)
- # Build an RPM by default if we have the tool. Out of the box, just
- # build a "vanilla" RPM. For situations where we want more detail
- # and versioning of the RPM, set the variable CMAKE_RPM_VERSION
- # to the numerical "version" of the RPM: 1, 2, etc..
+ # Build an RPM by default if we have the tool. Out of the box, just
+ # build a "vanilla" RPM. For situations where we want more detail
+ # and versioning of the RPM, set the variable CMAKE_RPM_VERSION
+ # to the numerical "version" of the RPM: 1, 2, etc..
- # Since RPM packages present a particular problem with bad umask
- # settings and RPM package building is enabled, raise the issue again
- # with a longer wait time.
- if (NOT UMASK_OK)
- message(" ")
- message(WARNING "umask is set to ${umask_curr} and RPM package
building is enabled - this is not a 'standard' umask setting for BRL-CAD RPM
packages. Double check that these umask permissions will have the desired
results when installed - RPM packages can impact permissions on system
directories such as /usr\nIf the umask settings need to be changed, it is
recommended that the build directory be cleared and cmake re-run after the
umask setting has been changed.")
- if(SLEEP_EXEC)
- execute_process(COMMAND ${SLEEP_EXEC} 5)
- endif(SLEEP_EXEC)
- endif (NOT UMASK_OK)
+ # Since RPM packages present a particular problem with bad umask
+ # settings and RPM package building is enabled, raise the issue again
+ # with a longer wait time.
+ if (NOT UMASK_OK)
+ message(" ")
+ message(WARNING "umask is set to ${umask_curr} and RPM package building is
enabled - this is not a 'standard' umask setting for BRL-CAD RPM packages.
Double check that these umask permissions will have the desired results when
installed - RPM packages can impact permissions on system directories such as
/usr\nIf the umask settings need to be changed, it is recommended that the
build directory be cleared and cmake re-run after the umask setting has been
changed.")
+ if(SLEEP_EXEC)
+ execute_process(COMMAND ${SLEEP_EXEC} 5)
+ endif(SLEEP_EXEC)
+ endif (NOT UMASK_OK)
- set(CPACK_GENERATOR ${CPACK_GENERATOR} RPM)
- set(CPACK_RPM_PACKAGE_LICENSE "LGPL 2.1")
- set(CPACK_RPM_PACKAGE_GROUP "Applications/Engineering")
- set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
+ set(CPACK_GENERATOR ${CPACK_GENERATOR} RPM)
+ set(CPACK_RPM_PACKAGE_LICENSE "LGPL 2.1")
+ set(CPACK_RPM_PACKAGE_GROUP "Applications/Engineering")
+ set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
- # We do NOT want to strip the binaries added to the RPM -
- # see https://cmake.org/Wiki/CMake:CPackPackageGenerators and
- # https://public.kitware.com/Bug/view.php?id=7435
- set(CPACK_RPM_SPEC_INSTALL_POST /bin/true)
+ # We do NOT want to strip the binaries added to the RPM -
+ # see https://cmake.org/Wiki/CMake:CPackPackageGenerators and
+ # https://public.kitware.com/Bug/view.php?id=7435
+ set(CPACK_RPM_SPEC_INSTALL_POST /bin/true)
- if(CPACK_RPM_VERSION)
- if(DEFINED BRLCAD_VERSION_AMEND)
- set(CPACK_RPM_PACKAGE_NAME
"brlcad_${BRLCAD_VERSION_MAJOR}_${BRLCAD_VERSION_MINOR}_${BRLCAD_VERSION_PATCH}_${BRLCAD_VERSION_AMEND}")
- else(DEFINED BRLCAD_VERSION_AMEND)
- set(CPACK_RPM_PACKAGE_NAME
"brlcad_${BRLCAD_VERSION_MAJOR}_${BRLCAD_VERSION_MINOR}_${BRLCAD_VERSION_PATCH}")
- endif(DEFINED BRLCAD_VERSION_AMEND)
+ if(CPACK_RPM_VERSION)
+ if(DEFINED BRLCAD_VERSION_AMEND)
+ set(CPACK_RPM_PACKAGE_NAME
"brlcad_${BRLCAD_VERSION_MAJOR}_${BRLCAD_VERSION_MINOR}_${BRLCAD_VERSION_PATCH}_${BRLCAD_VERSION_AMEND}")
+ else(DEFINED BRLCAD_VERSION_AMEND)
+ set(CPACK_RPM_PACKAGE_NAME
"brlcad_${BRLCAD_VERSION_MAJOR}_${BRLCAD_VERSION_MINOR}_${BRLCAD_VERSION_PATCH}")
+ endif(DEFINED BRLCAD_VERSION_AMEND)
- # If we've got a Redhat release, include some info about the
- # specific release in the name. Otherwise, just go generic.
- if(EXISTS /etc/redhat-release)
- file(READ /etc/redhat-release REDHAT_RELEASE)
- string(REGEX MATCH "[0-9]+" REDHAT_VERSION
${REDHAT_RELEASE})
- string(REGEX MATCH "Enterprise Linux" LINUX_DIST_TYPE
${REDHAT_RELEASE})
- if(LINUX_DIST_TYPE)
- set(LINUX_DIST_TYPE "el")
- else(LINUX_DIST_TYPE)
- set(LINUX_DIST_TYPE "rh")
- endif(LINUX_DIST_TYPE)
- set(CPACK_RPM_PACKAGE_RELEASE
${CPACK_RPM_VERSION}.${LINUX_DIST_TYPE}${REDHAT_VERSION})
- else(EXISTS /etc/redhat-release)
- set(CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_VERSION})
- endif(EXISTS /etc/redhat-release)
+ # If we've got a Redhat release, include some info about the
+ # specific release in the name. Otherwise, just go generic.
+ if(EXISTS /etc/redhat-release)
+ file(READ /etc/redhat-release REDHAT_RELEASE)
+ string(REGEX MATCH "[0-9]+" REDHAT_VERSION ${REDHAT_RELEASE})
+ string(REGEX MATCH "Enterprise Linux" LINUX_DIST_TYPE ${REDHAT_RELEASE})
+ if(LINUX_DIST_TYPE)
+ set(LINUX_DIST_TYPE "el")
+ else(LINUX_DIST_TYPE)
+ set(LINUX_DIST_TYPE "rh")
+ endif(LINUX_DIST_TYPE)
+ set(CPACK_RPM_PACKAGE_RELEASE
${CPACK_RPM_VERSION}.${LINUX_DIST_TYPE}${REDHAT_VERSION})
+ else(EXISTS /etc/redhat-release)
+ set(CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_VERSION})
+ endif(EXISTS /etc/redhat-release)
- endif(CPACK_RPM_VERSION)
+ endif(CPACK_RPM_VERSION)
endif(RPMBUILD_EXEC AND NOT CPACK_RPM_SKIP)
if(${CMAKE_WORD_SIZE} MATCHES "32BIT" AND ${CMAKE_SYSTEM_PROCESSOR} STREQUAL
"x86_64")
- set(CPACK_PACKAGE_FILE_NAME
"BRL-CAD_${BRLCAD_VERSION}_${CMAKE_SYSTEM_NAME}_x86")
+ set(CPACK_PACKAGE_FILE_NAME
"BRL-CAD_${BRLCAD_VERSION}_${CMAKE_SYSTEM_NAME}_x86")
else(${CMAKE_WORD_SIZE} MATCHES "32BIT" AND ${CMAKE_SYSTEM_PROCESSOR} STREQUAL
"x86_64")
- set(CPACK_PACKAGE_FILE_NAME
"BRL-CAD_${BRLCAD_VERSION}_${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}")
+ set(CPACK_PACKAGE_FILE_NAME
"BRL-CAD_${BRLCAD_VERSION}_${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}")
endif(${CMAKE_WORD_SIZE} MATCHES "32BIT" AND ${CMAKE_SYSTEM_PROCESSOR}
STREQUAL "x86_64")
if(CPACK_RPM_PACKAGE_RELEASE)
- set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_FILE_NAME}_${CPACK_RPM_PACKAGE_RELEASE}")
+ set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_FILE_NAME}_${CPACK_RPM_PACKAGE_RELEASE}")
endif(CPACK_RPM_PACKAGE_RELEASE)
if(WIN32)
- find_package(NSIS)
- if (NSIS_FOUND)
- set(CPACK_GENERATOR ${CPACK_GENERATOR} NSIS)
- set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
- set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
- set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
- set(CPACK_DATA_DIR "${DATA_DIR}")
- set(CPACK_DOC_DIR "${DOC_DIR}")
- # There is a bug in NSIS that does not handle full unix paths
properly. Make
- # sure there is at least one set of four (4) backslashes.
- set(CPACK_NSIS_MUI_ICON
"${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
- set(CPACK_NSIS_MUI_UNIICON
"${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
- set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
- set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
- set(CPACK_NSIS_MODIFY_PATH ON)
- endif (NSIS_FOUND)
- find_package(Wix)
- if (Wix_FOUND)
- # User report that this version of the installer also supports
- # non-graphical installation with the /passive option.
- #
- # Note: for WiX, start menu shortcuts and desktop icons are
handled with
- # properties set on targets. (At the moment, this is not true
for NSIS -
- # it uses entries in the misc/CMake/NSIS.template.in file.)
- #
- # If we need to get fancier about this, look at the following:
- #
https://github.com/Kitware/CMake/blob/master/CMakeCPackOptions.cmake.in#L216
- #
https://github.com/Kitware/CMake/tree/master/Utilities/Release/WiX
- set(CPACK_GENERATOR ${CPACK_GENERATOR} WIX)
- set(CPACK_WIX_LICENSE_RTF
"${CMAKE_SOURCE_DIR}/misc/wix/License.rtf")
- set(CPACK_WIX_PRODUCT_ICON
"${CMAKE_SOURCE_DIR}/misc/wix/brlcad_product.ico")
- set(CPACK_WIX_PROGRAM_MENU_FOLDER "BRL-CAD ${BRLCAD_VERSION}")
- set(CPACK_WIX_UI_BANNER
"${CMAKE_SOURCE_DIR}/misc/wix/brlcad_banner.bmp")
- set(CPACK_WIX_UI_DIALOG
"${CMAKE_SOURCE_DIR}/misc/wix/brlcad_dialog.bmp")
- endif (Wix_FOUND)
- if (NOT CPACK_GENERATOR)
- # If nothing else, make a zip file
- set(CPACK_GENERATOR ZIP)
- endif (NOT CPACK_GENERATOR)
- if(CMAKE_CL_64)
- set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win64")
- set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD
${BRLCAD_VERSION} win64")
- # Use the setting from
http://public.kitware.com/pipermail/cmake/2013-June/055000.html to
- # provide the correct default 64 bit directory with older CMake
versions
- set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
- else(CMAKE_CL_64)
- set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win32")
- set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD
${BRLCAD_VERSION} win32")
- set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD (32 Bit)")
- endif(CMAKE_CL_64)
+ find_package(NSIS)
+ if (NSIS_FOUND)
+ set(CPACK_GENERATOR ${CPACK_GENERATOR} NSIS)
+ set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD")
+ set(CPACK_NSIS_INSTALL_DIRECTORY "BRL-CAD ${BRLCAD_VERSION}")
+ set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}")
+ set(CPACK_DATA_DIR "${DATA_DIR}")
+ set(CPACK_DOC_DIR "${DOC_DIR}")
+ # There is a bug in NSIS that does not handle full unix paths properly.
Make
+ # sure there is at least one set of four (4) backslashes.
+ set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/misc/nsis\\\\brlcad.ico")
+ set(CPACK_NSIS_MUI_UNIICON
"${CMAKE_SOURCE_DIR}/misc/nsis\\\\uninstall.ico")
+ set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
+ set(CPACK_NSIS_DISPLAY_NAME "BRL-CAD")
+ set(CPACK_NSIS_MODIFY_PATH ON)
+ endif (NSIS_FOUND)
+ find_package(Wix)
+ if (Wix_FOUND)
+ # User report that this version of the installer also supports
+ # non-graphical installation with the /passive option.
+ #
+ # Note: for WiX, start menu shortcuts and desktop icons are handled with
+ # properties set on targets. (At the moment, this is not true for NSIS -
+ # it uses entries in the misc/CMake/NSIS.template.in file.)
+ #
+ # If we need to get fancier about this, look at the following:
+ #
https://github.com/Kitware/CMake/blob/master/CMakeCPackOptions.cmake.in#L216
+ # https://github.com/Kitware/CMake/tree/master/Utilities/Release/WiX
+ set(CPACK_GENERATOR ${CPACK_GENERATOR} WIX)
+ set(CPACK_WIX_LICENSE_RTF "${CMAKE_SOURCE_DIR}/misc/wix/License.rtf")
+ set(CPACK_WIX_PRODUCT_ICON
"${CMAKE_SOURCE_DIR}/misc/wix/brlcad_product.ico")
+ set(CPACK_WIX_PROGRAM_MENU_FOLDER "BRL-CAD ${BRLCAD_VERSION}")
+ set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_banner.bmp")
+ set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/misc/wix/brlcad_dialog.bmp")
+ endif (Wix_FOUND)
+ if (NOT CPACK_GENERATOR)
+ # If nothing else, make a zip file
+ set(CPACK_GENERATOR ZIP)
+ endif (NOT CPACK_GENERATOR)
+ if(CMAKE_CL_64)
+ set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win64")
+ set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD ${BRLCAD_VERSION} win64")
+ # Use the setting from
http://public.kitware.com/pipermail/cmake/2013-June/055000.html to
+ # provide the correct default 64 bit directory with older CMake versions
+ set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
+ else(CMAKE_CL_64)
+ set(CPACK_PACKAGE_FILE_NAME "BRL-CAD_${BRLCAD_VERSION}_win32")
+ set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "BRL-CAD ${BRLCAD_VERSION} win32")
+ set(CPACK_NSIS_PACKAGE_NAME "BRL-CAD (32 Bit)")
+ endif(CMAKE_CL_64)
endif(WIN32)
set(CPACK_SOURCE_GENERATOR TGZ TBZ2 ZIP)
@@ -152,3 +187,10 @@
DISTCLEAN("${CMAKE_BINARY_DIR}/CPackSourceConfig.cmake")
DISTCLEAN("${CMAKE_BINARY_DIR}/DartConfiguration.tcl")
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_Environment_Setup.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_Environment_Setup.cmake
2020-12-03 16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_Environment_Setup.cmake
2020-12-03 17:03:39 UTC (rev 77898)
@@ -1,3 +1,38 @@
+# B R L C A D _ E N V I R O N M E N T _ S E T U P . C M A K E
+# BRL-CAD
+#
+# Copyright (c) 2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
# Setup and checks related to system environment settings
#---------------------------------------------------------------------
@@ -113,11 +148,11 @@
set(BRLCAD_WORD_SIZE "32BIT (AUTO)" CACHE STRING WORD_SIZE_LABEL FORCE)
else(${CMAKE_SIZEOF_VOID_P} MATCHES "^4$")
if(${CMAKE_SIZEOF_VOID_P} MATCHES "^2$")
- set(CMAKE_WORD_SIZE "16BIT")
- set(BRLCAD_WORD_SIZE "16BIT (AUTO)" CACHE STRING WORD_SIZE_LABEL FORCE)
+ set(CMAKE_WORD_SIZE "16BIT")
+ set(BRLCAD_WORD_SIZE "16BIT (AUTO)" CACHE STRING WORD_SIZE_LABEL FORCE)
else(${CMAKE_SIZEOF_VOID_P} MATCHES "^2$")
- set(CMAKE_WORD_SIZE "8BIT")
- set(BRLCAD_WORD_SIZE "8BIT (AUTO)" CACHE STRING WORD_SIZE_LABEL FORCE)
+ set(CMAKE_WORD_SIZE "8BIT")
+ set(BRLCAD_WORD_SIZE "8BIT (AUTO)" CACHE STRING WORD_SIZE_LABEL FORCE)
endif(${CMAKE_SIZEOF_VOID_P} MATCHES "^2$")
endif(${CMAKE_SIZEOF_VOID_P} MATCHES "^4$")
endif(${CMAKE_SIZEOF_VOID_P} MATCHES "^8$")
@@ -133,8 +168,8 @@
if(NOT ${CMAKE_WORD_SIZE} MATCHES "64BIT")
set(CMAKE_WORD_SIZE "64BIT")
if(NOT "${BRLCAD_WORD_SIZE}" MATCHES "AUTO")
- message(WARNING "Selected MSVC compiler is 64BIT - setting word size
to 64BIT. To perform a 32BIT MSVC build, select the 32BIT MSVC CMake
generator.")
- set(BRLCAD_WORD_SIZE "64BIT" CACHE STRING WORD_SIZE_LABEL FORCE)
+ message(WARNING "Selected MSVC compiler is 64BIT - setting word size to
64BIT. To perform a 32BIT MSVC build, select the 32BIT MSVC CMake generator.")
+ set(BRLCAD_WORD_SIZE "64BIT" CACHE STRING WORD_SIZE_LABEL FORCE)
endif(NOT "${BRLCAD_WORD_SIZE}" MATCHES "AUTO")
endif(NOT ${CMAKE_WORD_SIZE} MATCHES "64BIT")
add_definitions("-D_WIN64")
@@ -143,8 +178,8 @@
if(NOT ${CMAKE_WORD_SIZE} MATCHES "32BIT")
set(CMAKE_WORD_SIZE "32BIT")
if(NOT "${BRLCAD_WORD_SIZE}" MATCHES "AUTO")
- message(WARNING "Selected MSVC compiler is 32BIT - setting word size
to 32BIT. To perform a 64BIT MSVC build, select the 64BIT MSVC CMake
generator.")
- set(BRLCAD_WORD_SIZE "32BIT" CACHE STRING WORD_SIZE_LABEL FORCE)
+ message(WARNING "Selected MSVC compiler is 32BIT - setting word size to
32BIT. To perform a 64BIT MSVC build, select the 64BIT MSVC CMake generator.")
+ set(BRLCAD_WORD_SIZE "32BIT" CACHE STRING WORD_SIZE_LABEL FORCE)
endif(NOT "${BRLCAD_WORD_SIZE}" MATCHES "AUTO")
endif(NOT ${CMAKE_WORD_SIZE} MATCHES "32BIT")
endif(CMAKE_CL_64)
@@ -152,7 +187,7 @@
# If a platform specific variable needs to be set for 32 bit, do it here
if (${CMAKE_WORD_SIZE} MATCHES "32BIT")
- set(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Building for i386"
FORCE)
+ set(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Building for i386" FORCE)
endif (${CMAKE_WORD_SIZE} MATCHES "32BIT")
# Based on what we are doing, we may need to constrain our search paths
@@ -180,3 +215,10 @@
set(PREVIOUS_CONFIGURE_TYPE ${CMAKE_WORD_SIZE} CACHE STRING "Previous
configuration word size" FORCE)
mark_as_advanced(PREVIOUS_CONFIGURE_TYPE)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_Install_Prefix.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_Install_Prefix.cmake
2020-12-03 16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_Install_Prefix.cmake
2020-12-03 17:03:39 UTC (rev 77898)
@@ -1,3 +1,38 @@
+# B R L C A D _ I N S T A L L _ P R E F I X . C M A K E
+# BRL-CAD
+#
+# Copyright (c) 2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
# If we need it, use a standard string to stand in for build types. This
# allows for easier replacing later in the logic
set(BUILD_TYPE_KEY "----BUILD_TYPE----")
@@ -12,25 +47,25 @@
# https://cmake.org/cmake/help/latest/command/install.html
#
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
- if(NOT CMAKE_CONFIGURATION_TYPES)
- if("${CMAKE_BUILD_TYPE}" MATCHES "Release")
- set(CMAKE_INSTALL_PREFIX
"/usr/brlcad/rel-${BRLCAD_VERSION}")
- else("${CMAKE_BUILD_TYPE}" MATCHES "Release")
- set(CMAKE_INSTALL_PREFIX
"/usr/brlcad/dev-${BRLCAD_VERSION}")
- endif("${CMAKE_BUILD_TYPE}" MATCHES "Release")
- else(NOT CMAKE_CONFIGURATION_TYPES)
- if(MSVC)
- if(CMAKE_CL_64)
- set(CMAKE_INSTALL_PREFIX "C:/Program
Files/BRL-CAD ${BRLCAD_VERSION}")
- else(CMAKE_CL_64)
- set(CMAKE_INSTALL_PREFIX "C:/Program Files
(x86)/BRL-CAD ${BRLCAD_VERSION}")
- endif(CMAKE_CL_64)
- else(MSVC)
- set(CMAKE_INSTALL_PREFIX
"/usr/brlcad/${BUILD_TYPE_KEY}-${BRLCAD_VERSION}")
- endif(MSVC)
- endif(NOT CMAKE_CONFIGURATION_TYPES)
- set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "BRL-CAD
install prefix" FORCE)
- set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0)
+ if(NOT CMAKE_CONFIGURATION_TYPES)
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+ set(CMAKE_INSTALL_PREFIX "/usr/brlcad/rel-${BRLCAD_VERSION}")
+ else("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+ set(CMAKE_INSTALL_PREFIX "/usr/brlcad/dev-${BRLCAD_VERSION}")
+ endif("${CMAKE_BUILD_TYPE}" MATCHES "Release")
+ else(NOT CMAKE_CONFIGURATION_TYPES)
+ if(MSVC)
+ if(CMAKE_CL_64)
+ set(CMAKE_INSTALL_PREFIX "C:/Program Files/BRL-CAD ${BRLCAD_VERSION}")
+ else(CMAKE_CL_64)
+ set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/BRL-CAD
${BRLCAD_VERSION}")
+ endif(CMAKE_CL_64)
+ else(MSVC)
+ set(CMAKE_INSTALL_PREFIX
"/usr/brlcad/${BUILD_TYPE_KEY}-${BRLCAD_VERSION}")
+ endif(MSVC)
+ endif(NOT CMAKE_CONFIGURATION_TYPES)
+ set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "BRL-CAD install
prefix" FORCE)
+ set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 0)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
set(BRLCAD_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "BRL-CAD install
prefix")
mark_as_advanced(BRLCAD_PREFIX)
@@ -115,30 +150,30 @@
# to list them explicitly for exclusion.
if(NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT
"${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
- # Make sure we are working with the fully normalized path
- get_filename_component(PATH_NORMALIZED "${CMAKE_INSTALL_PREFIX}"
ABSOLUTE)
- set(IGNORE_SUBDIRS ${BIN_DIR} ${LIB_DIR})
- if (CMAKE_CONFIGURATION_TYPES)
- # If we're doing multi-config, ignore all the possible output
locations
- foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
- if ("${cfg}" STREQUAL "Release")
- string(REPLACE "${BUILD_TYPE_KEY}" "rel"
"${CMAKE_INSTALL_PREFIX}" TYPEPATH)
- elseif ("${cfg}" STREQUAL "Debug")
- string(REPLACE "${BUILD_TYPE_KEY}" "dev"
"${CMAKE_INSTALL_PREFIX}" TYPEPATH)
- else ("${cfg}" STREQUAL "Release")
- string(REPLACE "${BUILD_TYPE_KEY}" "${cfg}"
"${CMAKE_INSTALL_PREFIX}" TYPEPATH)
- endif ("${cfg}" STREQUAL "Release")
- foreach(sd ${IGNORE_SUBDIRS})
- set(CMAKE_SYSTEM_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${TYPEPATH}/${sd}")
- set(CMAKE_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${TYPEPATH}/${sd}")
- endforeach(sd ${IGNORE_SUBDIRS})
- endforeach(cfg ${CMAKE_CONFIGURATION_TYPES})
- else (CMAKE_CONFIGURATION_TYPES)
- foreach(sd ${IGNORE_SUBDIRS})
- set(CMAKE_SYSTEM_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${PATH_NORMALIZED}/${sd}")
- set(CMAKE_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${PATH_NORMALIZED}/${sd}")
- endforeach(sd ${IGNORE_SUBDIRS})
- endif (CMAKE_CONFIGURATION_TYPES)
+ # Make sure we are working with the fully normalized path
+ get_filename_component(PATH_NORMALIZED "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
+ set(IGNORE_SUBDIRS ${BIN_DIR} ${LIB_DIR})
+ if (CMAKE_CONFIGURATION_TYPES)
+ # If we're doing multi-config, ignore all the possible output locations
+ foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
+ if ("${cfg}" STREQUAL "Release")
+ string(REPLACE "${BUILD_TYPE_KEY}" "rel" "${CMAKE_INSTALL_PREFIX}"
TYPEPATH)
+ elseif ("${cfg}" STREQUAL "Debug")
+ string(REPLACE "${BUILD_TYPE_KEY}" "dev" "${CMAKE_INSTALL_PREFIX}"
TYPEPATH)
+ else ("${cfg}" STREQUAL "Release")
+ string(REPLACE "${BUILD_TYPE_KEY}" "${cfg}" "${CMAKE_INSTALL_PREFIX}"
TYPEPATH)
+ endif ("${cfg}" STREQUAL "Release")
+ foreach(sd ${IGNORE_SUBDIRS})
+ set(CMAKE_SYSTEM_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${TYPEPATH}/${sd}")
+ set(CMAKE_IGNORE_PATH "${CMAKE_SYSTEM_IGNORE_PATH};${TYPEPATH}/${sd}")
+ endforeach(sd ${IGNORE_SUBDIRS})
+ endforeach(cfg ${CMAKE_CONFIGURATION_TYPES})
+ else (CMAKE_CONFIGURATION_TYPES)
+ foreach(sd ${IGNORE_SUBDIRS})
+ set(CMAKE_SYSTEM_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${PATH_NORMALIZED}/${sd}")
+ set(CMAKE_IGNORE_PATH
"${CMAKE_SYSTEM_IGNORE_PATH};${PATH_NORMALIZED}/${sd}")
+ endforeach(sd ${IGNORE_SUBDIRS})
+ endif (CMAKE_CONFIGURATION_TYPES)
endif(NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" AND NOT
"${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
#------------------------------------------------------------------------------
@@ -146,3 +181,10 @@
# and reporting time deltas
generate_dreport()
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_Targets.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_Targets.cmake 2020-12-03
16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_Targets.cmake 2020-12-03
17:03:39 UTC (rev 77898)
@@ -49,9 +49,9 @@
if(ENABLE_ALL_CXX_COMPILE)
foreach(srcfile ${SRC_FILES})
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}" MATCHES "src/other")
- if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
- set_source_files_properties(${srcfile} PROPERTIES LANGUAGE CXX)
- endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
+ set_source_files_properties(${srcfile} PROPERTIES LANGUAGE CXX)
+ endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
endif(NOT "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}" MATCHES "src/other")
endforeach(srcfile ${SRC_FILES})
endif(ENABLE_ALL_CXX_COMPILE)
@@ -66,12 +66,12 @@
set(fullpath_srcslist)
foreach(srcfile ${srcslist})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
- get_property(IGNORE_FILE SOURCE ${srcfile} PROPERTY EXTERNAL)
- if(IGNORE_FILE)
- message("Note: skipping style validation on external file
${srcfile}")
- else(IGNORE_FILE)
- set(fullpath_srcslist ${fullpath_srcslist}
"${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
- endif(IGNORE_FILE)
+ get_property(IGNORE_FILE SOURCE ${srcfile} PROPERTY EXTERNAL)
+ if(IGNORE_FILE)
+ message("Note: skipping style validation on external file ${srcfile}")
+ else(IGNORE_FILE)
+ set(fullpath_srcslist ${fullpath_srcslist}
"${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
+ endif(IGNORE_FILE)
endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${srcfile}")
endforeach(srcfile ${srcslist})
@@ -78,12 +78,12 @@
# If we have a list that isn't empty, use it
if(fullpath_srcslist)
add_custom_command(
- TARGET ${targetname} PRE_LINK
- COMMAND "${ASTYLE_EXECUTABLE}" --report
--options=${BRLCAD_SOURCE_DIR}/misc/astyle.opt ${fullpath_srcslist}
- COMMENT "Checking formatting of ${targetname} srcs"
- )
+ TARGET ${targetname} PRE_LINK
+ COMMAND "${ASTYLE_EXECUTABLE}" --report
--options=${BRLCAD_SOURCE_DIR}/misc/astyle.opt ${fullpath_srcslist}
+ COMMENT "Checking formatting of ${targetname} srcs"
+ )
if(TARGET astyle)
- add_dependencies(${targetname} astyle)
+ add_dependencies(${targetname} astyle)
endif(TARGET astyle)
endif(fullpath_srcslist)
@@ -115,8 +115,8 @@
while(NOT "${f_ext}" STREQUAL "")
get_filename_component(f_ext ${f_ext} EXT)
if(f_ext)
- set(srcfile_ext ${f_ext})
- string(SUBSTRING "${f_ext}" 1 -1 f_ext)
+ set(srcfile_ext ${f_ext})
+ string(SUBSTRING "${f_ext}" 1 -1 f_ext)
endif(f_ext)
endwhile(NOT "${f_ext}" STREQUAL "")
@@ -164,13 +164,13 @@
# Get all the flags from all the associated libraries
foreach(libitem ${target_libs})
- get_property(ITEM_FLAGS GLOBAL PROPERTY ${libitem}_${lang}_FLAGS)
- list(APPEND T_FLAGS ${${libitem}_${lang}_FLAGS})
+ get_property(ITEM_FLAGS GLOBAL PROPERTY ${libitem}_${lang}_FLAGS)
+ list(APPEND T_FLAGS ${${libitem}_${lang}_FLAGS})
endforeach(libitem ${target_libs})
# If we've got anything, scrub down to unique entries
if(T_FLAGS)
- list(REMOVE_DUPLICATES T_FLAGS)
+ list(REMOVE_DUPLICATES T_FLAGS)
endif(T_FLAGS)
# Put the results back into the global target
@@ -178,10 +178,10 @@
# Set the language specific flag variables
if("${slang}" STREQUAL "C")
- set(T_C_FLAGS "${T_FLAGS}")
+ set(T_C_FLAGS "${T_FLAGS}")
endif("${slang}" STREQUAL "C")
if("${slang}" STREQUAL "CXX")
- set(T_CXX_FLAGS "${T_FLAGS}")
+ set(T_CXX_FLAGS "${T_FLAGS}")
endif("${slang}" STREQUAL "CXX")
endforeach(slang ${FLAG_LANGUAGES})
@@ -234,7 +234,7 @@
set(W_DEFINES ${S_DEFINES})
if(W_DEFINES)
foreach(df ${E_DEFINES})
- list(REMOVE_ITEM W_DEFINES ${df})
+ list(REMOVE_ITEM W_DEFINES ${df})
endforeach(df ${E_DEFINES})
endif(W_DEFINES)
@@ -253,26 +253,26 @@
get_property(E_CFLAGS SOURCE ${srcfile} PROPERTY COMPILE_FLAGS)
set(W_CFLAGS ${S_CFLAGS})
if(W_CFLAGS)
- foreach(df ${E_CFLAGS})
- list(REMOVE_ITEM W_CFLAGS ${df})
- endforeach(df ${E_CFLAGS})
+ foreach(df ${E_CFLAGS})
+ list(REMOVE_ITEM W_CFLAGS ${df})
+ endforeach(df ${E_CFLAGS})
endif(W_CFLAGS)
foreach(tflag ${W_CFLAGS})
- set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"${tflag}")
+ set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS "${tflag}")
endforeach(tflag ${W_CFLAGS})
# Handle inline definition for C files only
if(NOT "${C_INLINE}" STREQUAL "inline")
- list(FIND E_DEFINES "inline=${C_INLINE}" HAVE_INLINE_DEF)
- if("${HAVE_INLINE_DEF}" EQUAL -1)
- set_property(SOURCE ${srcfile} APPEND PROPERTY
COMPILE_DEFINITIONS "inline=${C_INLINE}")
- endif("${HAVE_INLINE_DEF}" EQUAL -1)
+ list(FIND E_DEFINES "inline=${C_INLINE}" HAVE_INLINE_DEF)
+ if("${HAVE_INLINE_DEF}" EQUAL -1)
+ set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_DEFINITIONS
"inline=${C_INLINE}")
+ endif("${HAVE_INLINE_DEF}" EQUAL -1)
endif(NOT "${C_INLINE}" STREQUAL "inline")
# Handle disabling of strict compilation if target requires that
if(S_NO_STRICT AND NOERROR_FLAG AND BRLCAD_ENABLE_STRICT)
- set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"-Wno-error")
+ set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"-Wno-error")
endif(S_NO_STRICT AND NOERROR_FLAG AND BRLCAD_ENABLE_STRICT)
endif("${file_language}" STREQUAL "C")
@@ -284,18 +284,18 @@
get_property(E_CXXFLAGS SOURCE ${srcfile} PROPERTY COMPILE_FLAGS)
set(W_CXXFLAGS ${S_CXXFLAGS})
if(W_CXXFLAGS)
- foreach(df ${E_CXXFLAGS})
- list(REMOVE_ITEM W_CXXFLAGS ${df})
- endforeach(df ${E_CXXFLAGS})
+ foreach(df ${E_CXXFLAGS})
+ list(REMOVE_ITEM W_CXXFLAGS ${df})
+ endforeach(df ${E_CXXFLAGS})
endif(W_CXXFLAGS)
foreach(tflag ${W_CXXFLAGS})
- set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"${tflag}")
+ set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS "${tflag}")
endforeach(tflag ${W_CXXFLAGS})
# Handle disabling of strict compilation if target requires that
if( (S_NO_STRICT OR _S_NO_STRICT_CXX) AND NOERROR_FLAG_CXX AND
BRLCAD_ENABLE_STRICT)
- set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"-Wno-error")
+ set_property(SOURCE ${srcfile} APPEND PROPERTY COMPILE_FLAGS
"-Wno-error")
endif( (S_NO_STRICT OR _S_NO_STRICT_CXX) AND NOERROR_FLAG_CXX AND
BRLCAD_ENABLE_STRICT)
endif("${file_language}" STREQUAL "C++")
@@ -364,12 +364,12 @@
# Unfortunately, we currently need Windows binaries in the same
directories as their DLL libraries
if(NOT WIN32 AND NOT E_TEST_USESDATA)
if(NOT CMAKE_CONFIGURATION_TYPES)
- set_target_properties(${execname} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+ set_target_properties(${execname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}")
else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- set_target_properties(${execname} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}
"${CMAKE_CURRENT_BINARY_DIR}/${CFG_TYPE}")
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
+ foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
+ string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+ set_target_properties(${execname} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}
"${CMAKE_CURRENT_BINARY_DIR}/${CFG_TYPE}")
+ endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
endif(NOT CMAKE_CONFIGURATION_TYPES)
endif(NOT WIN32 AND NOT E_TEST_USESDATA)
else(E_NO_INSTALL OR E_TEST)
@@ -467,9 +467,9 @@
# Ask me how I know.
if(NOT "${libslist}" STREQUAL "" AND NOT "${libslist}" STREQUAL "NONE")
foreach(ll ${libslist})
- if (TARGET ${ll})
- add_dependencies(${libname}-obj ${ll})
- endif (TARGET ${ll})
+ if (TARGET ${ll})
+ add_dependencies(${libname}-obj ${ll})
+ endif (TARGET ${ll})
endforeach(ll ${libslist})
endif(NOT "${libslist}" STREQUAL "" AND NOT "${libslist}" STREQUAL "NONE")
@@ -541,9 +541,9 @@
VALIDATE_STYLE("${libstatic}" "${srcslist};${L_STATIC_SRCS}")
if(NOT L_NO_INSTALL)
install(TARGETS ${libstatic}
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
+ RUNTIME DESTINATION ${BIN_DIR}
+ LIBRARY DESTINATION ${LIB_DIR}
+ ARCHIVE DESTINATION ${LIB_DIR})
endif(NOT L_NO_INSTALL)
endif(L_STATIC OR (BUILD_STATIC_LIBS AND NOT L_SHARED))
@@ -557,9 +557,9 @@
endif(NOT "${libslist}" STREQUAL "" AND NOT "${libslist}" STREQUAL "NONE")
if(NOT L_NO_INSTALL)
install(TARGETS ${libname}
- RUNTIME DESTINATION ${BIN_DIR}
- LIBRARY DESTINATION ${LIB_DIR}
- ARCHIVE DESTINATION ${LIB_DIR})
+ RUNTIME DESTINATION ${BIN_DIR}
+ LIBRARY DESTINATION ${LIB_DIR}
+ ARCHIVE DESTINATION ${LIB_DIR})
endif(NOT L_NO_INSTALL)
endif(L_SHARED OR (BUILD_SHARED_LIBS AND NOT L_STATIC))
@@ -619,8 +619,8 @@
set(DEF_EXISTS "-1")
list(FIND ${DIR_LIST} ${element} DEF_EXISTS)
if(NOT "${DEF_EXISTS}" STREQUAL "-1")
- set(NEW_DIR_LIST ${NEW_DIR_LIST} ${element})
- list(REMOVE_ITEM ${DIR_LIST} ${element})
+ set(NEW_DIR_LIST ${NEW_DIR_LIST} ${element})
+ list(REMOVE_ITEM ${DIR_LIST} ${element})
endif(NOT "${DEF_EXISTS}" STREQUAL "-1")
endforeach(element ${ORDERED_ELEMENTS})
@@ -628,8 +628,8 @@
foreach(inc_path ${${DIR_LIST}})
IS_SUBPATH("${BRLCAD_BINARY_DIR}" "${inc_path}" SUBPATH_TEST)
if("${SUBPATH_TEST}" STREQUAL "1")
- set(NEW_DIR_LIST ${NEW_DIR_LIST} ${inc_path})
- list(REMOVE_ITEM ${DIR_LIST} ${inc_path})
+ set(NEW_DIR_LIST ${NEW_DIR_LIST} ${inc_path})
+ list(REMOVE_ITEM ${DIR_LIST} ${inc_path})
endif("${SUBPATH_TEST}" STREQUAL "1")
endforeach(inc_path ${${DIR_LIST}})
@@ -637,8 +637,8 @@
foreach(inc_path ${${DIR_LIST}})
IS_SUBPATH("${BRLCAD_SOURCE_DIR}" "${inc_path}" SUBPATH_TEST)
if("${SUBPATH_TEST}" STREQUAL "1")
- set(NEW_DIR_LIST ${NEW_DIR_LIST} ${inc_path})
- list(REMOVE_ITEM ${DIR_LIST} ${inc_path})
+ set(NEW_DIR_LIST ${NEW_DIR_LIST} ${inc_path})
+ list(REMOVE_ITEM ${DIR_LIST} ${inc_path})
endif("${SUBPATH_TEST}" STREQUAL "1")
endforeach(inc_path ${${DIR_LIST}})
@@ -648,8 +648,8 @@
set(DEF_EXISTS "-1")
list(FIND ${DIR_LIST} ${element} DEF_EXISTS)
if(NOT "${DEF_EXISTS}" STREQUAL "-1")
- set(LAST_DIR_LIST ${LAST_DIR_LIST} ${element})
- list(REMOVE_ITEM ${DIR_LIST} ${element})
+ set(LAST_DIR_LIST ${LAST_DIR_LIST} ${element})
+ list(REMOVE_ITEM ${DIR_LIST} ${element})
endif(NOT "${DEF_EXISTS}" STREQUAL "-1")
endforeach(element ${LAST_ELEMENTS})
@@ -701,9 +701,9 @@
endforeach(sp ${SYS_INCLUDE_PATTERNS})
if(IS_SYSPATH OR NOT IS_LOCAL)
if(IS_SYSPATH)
- include_directories(SYSTEM ${inc_dir})
+ include_directories(SYSTEM ${inc_dir})
else(IS_SYSPATH)
- include_directories(AFTER SYSTEM ${inc_dir})
+ include_directories(AFTER SYSTEM ${inc_dir})
endif(IS_SYSPATH)
else(IS_SYSPATH OR NOT IS_LOCAL)
include_directories(BEFORE ${inc_dir})
@@ -807,8 +807,8 @@
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_BINARY_DIR}/${targetdir}")
else(NOT CMAKE_CONFIGURATION_TYPES)
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}")
+ string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}")
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
endif(NOT CMAKE_CONFIGURATION_TYPES)
@@ -820,12 +820,12 @@
foreach(filename ${fullpath_datalist})
get_filename_component(ITEM_NAME ${filename} NAME)
if(NOT CMAKE_CONFIGURATION_TYPES)
- execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${filename} "${CMAKE_BINARY_DIR}/${targetdir}/${ITEM_NAME}")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${filename}
"${CMAKE_BINARY_DIR}/${targetdir}/${ITEM_NAME}")
else(NOT CMAKE_CONFIGURATION_TYPES)
- foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${filename} "${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}/${ITEM_NAME}")
- endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
+ foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
+ string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
${filename} "${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}/${ITEM_NAME}")
+ endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
endif(NOT CMAKE_CONFIGURATION_TYPES)
endforeach(filename ${fullpath_datalist})
@@ -833,8 +833,8 @@
file(GLOB listing LIST_DIRECTORIES false
"${CMAKE_BINARY_DIR}/${targetdir}/*")
foreach (filename ${listing})
if (NOT EXISTS ${filename})
- message("Removing stale symbolic link ${filename}")
- execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${filename})
+ message("Removing stale symbolic link ${filename}")
+ execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${filename})
endif (NOT EXISTS ${filename})
endforeach (filename ${listing})
@@ -857,8 +857,8 @@
set(${targetname}_cmake_contents "${${targetname}_cmake_contents}
file(COPY \${FILES_TO_COPY} DESTINATION
\"${CMAKE_BINARY_DIR}/${targetdir}\")\n")
else(NOT CMAKE_CONFIGURATION_TYPES)
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
- set(${targetname}_cmake_contents "${${targetname}_cmake_contents}
file(COPY \${FILES_TO_COPY} DESTINATION
\"${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}\")\n")
+ string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+ set(${targetname}_cmake_contents "${${targetname}_cmake_contents}
file(COPY \${FILES_TO_COPY} DESTINATION
\"${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}\")\n")
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
endif(NOT CMAKE_CONFIGURATION_TYPES)
set(${targetname}_cmake_contents
"${${targetname}_cmake_contents}endforeach(filename \${CURRENT_FILE_LIST})\n")
@@ -901,8 +901,8 @@
DISTCLEAN("${CMAKE_BINARY_DIR}/${targetdir}/${ITEM_NAME}")
else(NOT CMAKE_CONFIGURATION_TYPES)
foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
- string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
-
DISTCLEAN("${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}/${ITEM_NAME}")
+ string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
+
DISTCLEAN("${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${targetdir}/${ITEM_NAME}")
endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
endif(NOT CMAKE_CONFIGURATION_TYPES)
endforeach(filename ${fullpath_datalist})
Modified: brlcad/branches/extbuild/misc/CMake/BRLCAD_User_Options.cmake
===================================================================
--- brlcad/branches/extbuild/misc/CMake/BRLCAD_User_Options.cmake
2020-12-03 16:53:56 UTC (rev 77897)
+++ brlcad/branches/extbuild/misc/CMake/BRLCAD_User_Options.cmake
2020-12-03 17:03:39 UTC (rev 77898)
@@ -1,3 +1,38 @@
+# B R L C A D _ U S E R _ O P T I O N S . C M A K E
+# BRL-CAD
+#
+# Copyright (c) 2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
# Now we define the various options for BRL-CAD - ways to enable and disable
# features, select which parts of the system to build, etc. As much as
# possible, sane default options are either selected or detected. Because
@@ -86,7 +121,7 @@
# make sure Xi is included in the list of X11 libs
# (Xext is automatically added during FindX11)
if(X11_Xi_FOUND)
- set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xi_LIB})
+ set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xi_LIB})
endif(X11_Xi_FOUND)
# Set whether X11 is enabled or disabled by default
@@ -176,10 +211,10 @@
if (BRLCAD_ENABLE_QT)
# TODO - try COMPONENTS search:
https://blog.kitware.com/cmake-finding-qt5-the-right-way/
find_package(Qt5Widgets QUIET)
-if(NOT Qt5Widgets_FOUND AND BRLCAD_ENABLE_QT)
- message("QT interface requested, but QT5 is not found - disabling")
- set(BRLCAD_ENABLE_QT OFF)
-endif(NOT Qt5Widgets_FOUND AND BRLCAD_ENABLE_QT)
+ if(NOT Qt5Widgets_FOUND AND BRLCAD_ENABLE_QT)
+ message("QT interface requested, but QT5 is not found - disabling")
+ set(BRLCAD_ENABLE_QT OFF)
+ endif(NOT Qt5Widgets_FOUND AND BRLCAD_ENABLE_QT)
endif (BRLCAD_ENABLE_QT)
mark_as_advanced(Qt5Widgets_DIR)
mark_as_advanced(Qt5Core_DIR)
@@ -493,3 +528,10 @@
mark_as_advanced(BRLCAD_EXTRADOCS_VALIDATE)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits