From 06c0032c3677e483b66472733d61bc4599dc78c2 Mon Sep 17 00:00:00 2001 From: Max Lyon Date: Wed, 2 Dec 2020 10:45:44 +0100 Subject: [PATCH] remove ACG cmake files and use files in cmake-library instead --- CMakeLists.txt | 2 +- cmake/ACGCommon.cmake | 307 ---------------------------------------- cmake/ACGCompiler.cmake | 203 -------------------------- cmake/ACGDoxygen.cmake | 123 ---------------- cmake/ACGOutput.cmake | 49 ------- cmake/ACGQt.cmake | 105 -------------- 6 files changed, 1 insertion(+), 788 deletions(-) delete mode 100644 cmake/ACGCommon.cmake delete mode 100644 cmake/ACGCompiler.cmake delete mode 100644 cmake/ACGDoxygen.cmake delete mode 100644 cmake/ACGOutput.cmake delete mode 100644 cmake/ACGQt.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index d5f0d3b9..55ce9d83 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ if (NOT WIN32 AND NOT CMAKE_BUILD_TYPE) endif() # add our macro directory to cmake search path -set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/cmake-library/finders ${CMAKE_CURRENT_SOURCE_DIR}/cmake-library/VCI ) set (CMAKE_DEBUG_POSTFIX "d") # include our cmake files diff --git a/cmake/ACGCommon.cmake b/cmake/ACGCommon.cmake deleted file mode 100644 index 65a38530..00000000 --- a/cmake/ACGCommon.cmake +++ /dev/null @@ -1,307 +0,0 @@ -if (EXISTS ${CMAKE_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.cmake) - include (${CMAKE_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.cmake) -endif () - -# prevent build in source directory - if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") - message (SEND_ERROR "Building in the source directory is not supported.") - message (FATAL_ERROR "Please remove the created \"CMakeCache.txt\" file, the \"CMakeFiles\" directory and create a build directory and call \"${CMAKE_COMMAND} \".") - endif ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") - -# allow only Debug and Release builds -set (CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "") -mark_as_advanced (CMAKE_CONFIGURATION_TYPES) - -# set Debus as default build target -if (NOT CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE Debug CACHE STRING - "Choose the type of build, options are: Debug, Release." - FORCE) -endif () - -# create our output directroy -if (NOT EXISTS ${CMAKE_BINARY_DIR}/Build) - file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build) -endif () - -# read version from file -macro (acg_get_version) - if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${ARGN}/VERSION") - file (READ "${CMAKE_CURRENT_SOURCE_DIR}/${ARGN}/VERSION" _file) - else () - file (READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" _file) - endif () - - string ( - REGEX REPLACE - "^.*ID=([^\n]*).*$" "\\1" - _id ${_file} - ) - string ( - REGEX REPLACE - "^.*VERSION=([^\n]*).*$" "\\1" - _version ${_file} - ) - string ( - REGEX REPLACE - "^.*MAJOR=([^\n]*).*$" "\\1" - _major ${_file} - ) - string ( - REGEX REPLACE - "^.*MINOR=([^\n]*).*$" "\\1" - _minor ${_file} - ) - string ( - REGEX REPLACE - "^.*PATCH=([^\n]*).*$" "\\1" - _patch ${_file} - ) - - set (${_id}_VERSION ${_version}) - set (${_id}_VERSION_MAJOR ${_major}) - set (${_id}_VERSION_MINOR ${_minor}) - set (${_id}_VERSION_PATCH ${_patch}) -endmacro () - - -# set directory structures for the different platforms -if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows) - set (ACG_PROJECT_DATADIR ".") - set (ACG_PROJECT_LIBDIR "lib") - set (ACG_PROJECT_BINDIR ".") - set (ACG_PROJECT_PLUGINDIR "Plugins") - if (NOT EXISTS ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}) - file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}) - endif () -elseif (APPLE) - set (ACG_PROJECT_DATADIR "share/${CMAKE_PROJECT_NAME}") - set (ACG_PROJECT_LIBDIR "lib${LIB_SUFFIX}") - set (CMAKE_LIBRARY_OUTPUT_DIR "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}") - set (ACG_PROJECT_PLUGINDIR "${ACG_PROJECT_LIBDIR}/plugins") - set (ACG_PROJECT_BINDIR "bin") -else () - set (ACG_PROJECT_DATADIR "share/${CMAKE_PROJECT_NAME}") - set (ACG_PROJECT_LIBDIR "lib${LIB_SUFFIX}") - set (ACG_PROJECT_PLUGINDIR "${ACG_PROJECT_LIBDIR}/plugins") - set (ACG_PROJECT_BINDIR "bin") -endif () - -# allow a project to modify the directories -if (COMMAND acg_modify_project_dirs) - acg_modify_project_dirs () -endif () - -if (NOT EXISTS ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}) - file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}) -endif () - - -# sets default build properties -macro (acg_set_target_props target) - if (WIN32) - set_target_properties ( - ${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH 1 - SKIP_BUILD_RPATH 0 - ) - elseif (APPLE AND NOT ACG_PROJECT_MACOS_BUNDLE) - # save rpath - set_target_properties ( - ${target} PROPERTIES - INSTALL_RPATH "@executable_path/../${ACG_PROJECT_LIBDIR}" - MACOSX_RPATH 1 - #BUILD_WITH_INSTALL_RPATH 1 - SKIP_BUILD_RPATH 0 - ) - elseif (NOT APPLE) - - set_target_properties ( - ${target} PROPERTIES - INSTALL_RPATH "$ORIGIN/../${ACG_PROJECT_LIBDIR}" - BUILD_WITH_INSTALL_RPATH 1 - SKIP_BUILD_RPATH 0 - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_BINDIR}" - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}" - ) - endif () -endmacro () - -include (AddFileDependencies) -include (ACGCompiler) - -# define INCLUDE_TEMPLATES for everything we build -add_definitions (-DINCLUDE_TEMPLATES) - -# unsets the given variable -macro (acg_unset var) - set (${var} "" CACHE INTERNAL "") -endmacro () - -# sets the given variable -macro (acg_set var value) - set (${var} ${value} CACHE INTERNAL "") -endmacro () - -# append all files with extension "ext" in the "dirs" directories to "ret" -# excludes all files starting with a '.' (dot) -macro (acg_append_files ret ext) - foreach (_dir ${ARGN}) - file (GLOB _files "${_dir}/${ext}") - foreach (_file ${_files}) - get_filename_component (_filename ${_file} NAME) - if (_filename MATCHES "^[.]") - list (REMOVE_ITEM _files ${_file}) - endif () - endforeach () - list (APPEND ${ret} ${_files}) - endforeach () -endmacro () - -# get all files in directory, but ignore svn -macro (acg_get_files_in_dir ret dir) - file (GLOB_RECURSE __files RELATIVE "${dir}" "${dir}/*") - foreach (_file ${__files}) - if ( (NOT _file MATCHES ".*svn.*") AND (NOT _file MATCHES ".DS_Store") ) - list (APPEND ${ret} "${_file}") - endif () - endforeach () -endmacro () - -# copy the whole directory without svn files -function (acg_copy_after_build target src dst) - acg_unset (_files) - acg_get_files_in_dir (_files ${src}) - foreach (_file ${_files}) - add_custom_command(TARGET ${target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${src}/${_file}" "${dst}/${_file}" - ) - endforeach () -endfunction () - -# extended version of add_executable that also copies output to out Build directory -function (acg_add_executable _target) - add_executable (${_target} ${ARGN}) - - # set common target properties defined in common.cmake - acg_set_target_props (${_target}) - - if (WIN32 OR (APPLE AND NOT ACG_PROJECT_MACOS_BUNDLE)) - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_BINDIR}/$) - endif (WIN32 OR (APPLE AND NOT ACG_PROJECT_MACOS_BUNDLE)) - - if (NOT ACG_PROJECT_MACOS_BUNDLE OR NOT APPLE) - install (TARGETS ${_target} DESTINATION ${ACG_PROJECT_BINDIR}) - endif () -endfunction () - -# extended version of add_library that also copies output to out Build directory -function (acg_add_library _target _libtype) - - if (${_libtype} STREQUAL SHAREDANDSTATIC) - set (_type SHARED) - if (NOT WIN32 OR MINGW) - set (_and_static 1) - else () - set (_and_static 0) - endif () - else () - set (_type ${_libtype}) - set (_and_static 0) - endif () - - add_library (${_target} ${_type} ${ARGN} ) - - # set common target properties defined in common.cmake - acg_set_target_props (${_target}) - - if (_and_static) - add_library (${_target}Static STATIC ${ARGN}) - - # set common target properties defined in common.cmake - acg_set_target_props (${_target}Static) - - set_target_properties(${_target}Static PROPERTIES OUTPUT_NAME ${_target}) - - if (NOT APPLE) - set_target_properties (${_target}Static PROPERTIES - LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" - ) - endif () - endif () - - if ( (WIN32 AND MSVC) OR (APPLE AND NOT ACG_PROJECT_MACOS_BUNDLE)) - if (${_type} STREQUAL SHARED) - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$) - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$) - elseif (${_type} STREQUAL MODULE) - if (NOT EXISTS ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_PLUGINDIR}) - file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_PLUGINDIR}) - endif () - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_PLUGINDIR}/$) - elseif (${_type} STREQUAL STATIC) - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$) - endif() - - - # make an extra copy for windows into the binary directory - if (${_type} STREQUAL SHARED AND WIN32) - add_custom_command (TARGET ${_target} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_BINDIR}/$) - endif () - - endif( (WIN32 AND MSVC) OR (APPLE AND NOT ACG_PROJECT_MACOS_BUNDLE)) - - if (_and_static) - add_custom_command (TARGET ${_target}Static POST_BUILD - COMMAND ${CMAKE_COMMAND} -E - copy_if_different - $ - ${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$) - - endif () - - - # Block installation of libraries by setting ACG_NO_LIBRARY_INSTALL - if ( NOT ACG_NO_LIBRARY_INSTALL ) - if (NOT ACG_PROJECT_MACOS_BUNDLE OR NOT APPLE) - if (${_type} STREQUAL SHARED OR ${_type} STREQUAL STATIC ) - install (TARGETS ${_target} - RUNTIME DESTINATION ${ACG_PROJECT_BINDIR} - LIBRARY DESTINATION ${ACG_PROJECT_LIBDIR} - ARCHIVE DESTINATION ${ACG_PROJECT_LIBDIR}) - if (_and_static) - install (TARGETS ${_target}Static - DESTINATION ${ACG_PROJECT_LIBDIR}) - endif () - elseif (${_type} STREQUAL MODULE) - install (TARGETS ${_target} DESTINATION ${ACG_PROJECT_PLUGINDIR}) - endif () - endif () - endif() - -endfunction () - diff --git a/cmake/ACGCompiler.cmake b/cmake/ACGCompiler.cmake deleted file mode 100644 index 464d4f49..00000000 --- a/cmake/ACGCompiler.cmake +++ /dev/null @@ -1,203 +0,0 @@ -################################################################################ -# Custom settings for compiler flags and similar -################################################################################ - -if ( WIN32 ) - ################################################################################ - # Windows large memory support - ################################################################################ - if ( NOT DEFINED WINDOWS_LARGE_MEMORY_SUPPORT ) - set( WINDOWS_LARGE_MEMORY_SUPPORT true CACHE BOOL "Enable or disable binary support for large memory" ) - endif() - - set( ADDITIONAL_CMAKE_EXE_LINKER_FLAGS ) - set( ADDITIONAL_CMAKE_SHARED_LINKER_FLAGS ) - set( ADDITIONAL_CMAKE_MODULE_LINKER_FLAGS ) - - if ( WINDOWS_LARGE_MEMORY_SUPPORT ) - if (MSVC) - list(APPEND ADDITIONAL_CMAKE_EXE_LINKER_FLAGS "/LARGEADDRESSAWARE" ) - list(APPEND ADDITIONAL_CMAKE_SHARED_LINKER_FLAGS "/LARGEADDRESSAWARE" ) - list(APPEND ADDITIONAL_CMAKE_MODULE_LINKER_FLAGS "/LARGEADDRESSAWARE" ) - endif() - endif() - - - foreach( flag ${ADDITIONAL_CMAKE_EXE_LINKER_FLAGS} ) - if( NOT CMAKE_EXE_LINKER_FLAGS MATCHES "${flag}" ) - set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${flag} ") - endif() - endforeach() - - foreach( flag ${ADDITIONAL_CMAKE_SHARED_LINKER_FLAGS} ) - if( NOT CMAKE_SHARED_LINKER_FLAGS MATCHES "${flag}" ) - set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${flag} ") - endif() - endforeach() - - foreach( flag ${ADDITIONAL_CMAKE_MODULE_LINKER_FLAGS} ) - if( NOT CMAKE_MODULE_LINKER_FLAGS MATCHES "${flag}" ) - set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${flag} ") - endif() - endforeach() - -endif( WIN32 ) - -if (UNIX) - - set ( ADDITIONAL_CXX_FLAGS ) - set ( ADDITIONAL_CXX_DEBUG_FLAGS ) - set ( ADDITIONAL_CXX_RELEASE_FLAGS ) - set ( ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS ) - - set ( ADDITIONAL_C_FLAGS ) - set ( ADDITIONAL_C_DEBUG_FLAGS ) - set ( ADDITIONAL_C_RELEASE_FLAGS ) - set ( ADDITIONAL_C_RELWITHDEBINFO_FLAGS ) - - ################################################################################ - # Defaults - ################################################################################ - - # add our standard flags for Template inclusion - list(APPEND ADDITIONAL_CXX_FLAGS "-DINCLUDE_TEMPLATES" ) - list(APPEND ADDITIONAL_C_FLAGS "-DINCLUDE_TEMPLATES" ) - - ################################################################################ - # OS Defines - ################################################################################ - - if (APPLE) - add_definitions( -DARCH_DARWIN ) - endif() - - ################################################################################ - # Build/Release Defines - ################################################################################ - IF( NOT CMAKE_SYSTEM MATCHES "SunOS*") - list(APPEND ADDITIONAL_CXX_DEBUG_FLAGS "-DDEBUG" ) - list(APPEND ADDITIONAL_CXX_RELEASE_FLAGS "-DNDEBUG" ) - list(APPEND ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS "-DDEBUG" ) - - list(APPEND ADDITIONAL_C_DEBUG_FLAGS "-DDEBUG" ) - list(APPEND ADDITIONAL_C_RELEASE_FLAGS "-DNDEBUG" ) - list(APPEND ADDITIONAL_C_RELWITHDEBINFO_FLAGS "-DDEBUG" ) - ENDIF() - - ################################################################################ - # Warnings - ################################################################################ - - # Add the standard compiler warnings - if ( NOT COMPILER_WARNINGS ) - - IF ( APPLE ) - # Skip unused parameters as it has to be used for the documentation via doxygen and the interfaces - set ( COMPILER_WARNINGS "-W" "-Wall" "-Wno-unused" "-Wextra" "-Wno-non-virtual-dtor" "-Wno-unused-parameter" "-Wno-variadic-macros" CACHE STRINGLIST "This list contains the warning flags used during compilation " ) - elseif ("${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}" MATCHES ".*clang") - set ( COMPILER_WARNINGS "-W" "-Wall" "-Wextra" "-Wno-non-virtual-dtor" "-Wno-unused-parameter" "-Wno-variadic-macros" CACHE STRINGLIST "This list contains the warning flags used during compilation " ) - ELSEIF ( CMAKE_SYSTEM MATCHES "SunOS*" ) - set ( COMPILER_WARNINGS "" CACHE STRINGLIST "This list contains the warning flags used during compilation " ) - ELSE () - set ( COMPILER_WARNINGS "-W" "-Wall" "-Wno-unused" "-Wextra" "-Wno-variadic-macros" CACHE STRINGLIST "This list contains the warning flags used during compilation " ) - ENDIF() - - endif ( NOT COMPILER_WARNINGS ) - - list(APPEND ADDITIONAL_CXX_FLAGS ${COMPILER_WARNINGS} ) - list(APPEND ADDITIONAL_C_FLAGS ${COMPILER_WARNINGS} ) - - - if ("${CMAKE_CXX_COMPILER}" MATCHES "Clang") - list(APPEND ADDITIONAL_CXX_FLAGS "-Weverything") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-c++98-compat") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-c++98-compat-pedantic") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-padded") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-old-style-cast") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-documentation-unknown-command") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-unreachable-code-return") - # enable later: - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-sign-conversion") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-deprecated") - list(APPEND ADDITIONAL_CXX_FLAGS "-Wno-weak-vtables") - endif() - - ################################################################################ - # STL Vector checks - ################################################################################ - - # Pre initialize stl vector check variable - if ( NOT STL_VECTOR_CHECKS ) - set ( STL_VECTOR_CHECKS false CACHE BOOL "Include full stl vector checks in debug mode (This option is only used in debug Mode!)" ) - endif ( NOT STL_VECTOR_CHECKS ) - - # Add a flag to check stl vectors - if ( STL_VECTOR_CHECKS AND NOT CMAKE_SYSTEM MATCHES "SunOS*" ) - list(APPEND ADDITIONAL_CXX_DEBUG_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_CXX_DEBUG_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - list(APPEND ADDITIONAL_CXX_RELEASE_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_CXX_RELEASE_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - list(APPEND ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - - list(APPEND ADDITIONAL_C_DEBUG_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_C_DEBUG_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - list(APPEND ADDITIONAL_C_RELEASE_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_C_RELEASE_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - list(APPEND ADDITIONAL_C_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG" ) - list(APPEND ADDITIONAL_C_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC") - endif() - - ################################################################################ - # Process the additional flags: - ################################################################################ - - # Add the debug flags - foreach( flag ${ADDITIONAL_CXX_FLAGS} ${ADDITIONAL_CXX_DEBUG_FLAGS} ) - list (FIND ${CMAKE_CXX_FLAGS_DEBUG} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${flag} ") - endif() - endforeach() - - # Add the release flags - foreach( flag ${ADDITIONAL_CXX_FLAGS} ${ADDITIONAL_CXX_RELEASE_FLAGS} ) - list (FIND ${CMAKE_CXX_FLAGS_RELEASE} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${flag} ") - endif() - endforeach() - - # Add the release with debug info flags - foreach( flag ${ADDITIONAL_CXX_FLAGS} ${ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS} ) - list (FIND ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${flag} ") - endif() - endforeach() - - # Add the debug flags - foreach( flag ${ADDITIONAL_C_FLAGS} ${ADDITIONAL_C_DEBUG_FLAGS} ) - list (FIND ${CMAKE_C_FLAGS_DEBUG} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${flag} ") - endif() - endforeach() - - # Add the release flags - foreach( flag ${ADDITIONAL_C_FLAGS} ${ADDITIONAL_C_RELEASE_FLAGS} ) - list (FIND ${CMAKE_C_FLAGS_RELEASE} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${flag} ") - endif() - endforeach() - - # Add the release with debug info flags - foreach( flag ${ADDITIONAL_C_FLAGS} ${ADDITIONAL_C_RELWITHDEBINFO_FLAGS} ) - list (FIND ${CMAKE_C_FLAGS_RELWITHDEBINFO} ${flag} _index) - if (${_index} EQUAL -1) - set( CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${flag} ") - endif() - endforeach() - -endif () diff --git a/cmake/ACGDoxygen.cmake b/cmake/ACGDoxygen.cmake deleted file mode 100644 index bd6cc5f5..00000000 --- a/cmake/ACGDoxygen.cmake +++ /dev/null @@ -1,123 +0,0 @@ -# -helper macro to add a "doc" target with CMake build system. -# and configure doxy.config.in to doxy.config -# -# target "doc" allows building the documentation with doxygen/dot on WIN32 and Linux -# Creates .chm windows help file if MS HTML help workshop -# (available from http://msdn.microsoft.com/workshop/author/htmlhelp) -# is installed with its DLLs in PATH. -# -# -# Please note, that the tools, e.g.: -# doxygen, dot, latex, dvips, makeindex, gswin32, etc. -# must be in path. -# -# Note about Visual Studio Projects: -# MSVS hast its own path environment which may differ from the shell. -# See "Menu Tools/Options/Projects/VC++ Directories" in VS 7.1 -# -# author Jan Woetzel 2004-2006 -# www.mip.informatik.uni-kiel.de/~jw - -if ( NOT DOXYGEN_FOUND) - FIND_PACKAGE(Doxygen) -endif() - -IF (DOXYGEN_FOUND) - - # click+jump in Emacs and Visual Studio (for doxy.config) (jw) - IF (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") - SET(DOXY_WARN_FORMAT "\"$file($line) : $text \"") - ELSE (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") - SET(DOXY_WARN_FORMAT "\"$file:$line: $text \"") - ENDIF (CMAKE_BUILD_TOOL MATCHES "(msdev|devenv)") - - # we need latex for doxygen because of the formulas - FIND_PACKAGE(LATEX) - IF (NOT LATEX_COMPILER) - MESSAGE(STATUS "latex command LATEX_COMPILER not found but usually required. You will probably get warnings and user inetraction on doxy run.") - ENDIF (NOT LATEX_COMPILER) - IF (NOT MAKEINDEX_COMPILER) - MESSAGE(STATUS "makeindex command MAKEINDEX_COMPILER not found but usually required.") - ENDIF (NOT MAKEINDEX_COMPILER) - IF (NOT DVIPS_CONVERTER) - MESSAGE(STATUS "dvips command DVIPS_CONVERTER not found but usually required.") - ENDIF (NOT DVIPS_CONVERTER) - - IF (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in") - MESSAGE(STATUS "configured ${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in --> ${CMAKE_CURRENT_BINARY_DIR}/doxy.config") - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in - ${CMAKE_CURRENT_BINARY_DIR}/doxy.config - @ONLY ) - # use (configured) doxy.config from (out of place) BUILD tree: - SET(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config") - ELSE (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in") - # use static hand-edited doxy.config from SOURCE tree: - SET(DOXY_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config") - IF (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config") - MESSAGE(STATUS "WARNING: using existing ${CMAKE_CURRENT_SOURCE_DIR}/doxy.config instead of configuring from doxy.config.in file.") - ELSE (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config") - IF (EXISTS "${CMAKE_MODULE_PATH}/doxy.config.in") - # using template doxy.config.in - MESSAGE(STATUS "configured ${CMAKE_CMAKE_MODULE_PATH}/doxy.config.in --> ${CMAKE_CURRENT_BINARY_DIR}/doxy.config") - CONFIGURE_FILE(${CMAKE_MODULE_PATH}/doxy.config.in - ${CMAKE_CURRENT_BINARY_DIR}/doxy.config - @ONLY ) - SET(DOXY_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/doxy.config") - ELSE (EXISTS "${CMAKE_MODULE_PATH}/doxy.config.in") - # failed completely... - MESSAGE(SEND_ERROR "Please create ${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in (or doxy.config as fallback)") - ENDIF(EXISTS "${CMAKE_MODULE_PATH}/doxy.config.in") - - ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config") - ENDIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/doxy.config.in") - - ADD_CUSTOM_TARGET(doc ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}) - - # create a windows help .chm file using hhc.exe - # HTMLHelp DLL must be in path! - # fallback: use hhw.exe interactively - IF (WIN32) - FIND_PACKAGE(HTMLHelp) - IF (HTML_HELP_COMPILER) - SET (TMP "${CMAKE_CURRENT_BINARY_DIR}\\Doc\\html\\index.hhp") - STRING(REGEX REPLACE "[/]" "\\\\" HHP_FILE ${TMP} ) - # MESSAGE(SEND_ERROR "DBG HHP_FILE=${HHP_FILE}") - ADD_CUSTOM_TARGET(winhelp ${HTML_HELP_COMPILER} ${HHP_FILE}) - ADD_DEPENDENCIES (winhelp doc) - - IF (NOT TARGET_DOC_SKIP_INSTALL) - # install windows help? - # determine useful name for output file - # should be project and version unique to allow installing - # multiple projects into one global directory - IF (EXISTS "${PROJECT_BINARY_DIR}/Doc/html/index.chm") - IF (PROJECT_NAME) - SET(OUT "${PROJECT_NAME}") - ELSE (PROJECT_NAME) - SET(OUT "Documentation") # default - ENDIF(PROJECT_NAME) - IF (${PROJECT_NAME}_VERSION_MAJOR) - SET(OUT "${OUT}-${${PROJECT_NAME}_VERSION_MAJOR}") - IF (${PROJECT_NAME}_VERSION_MINOR) - SET(OUT "${OUT}.${${PROJECT_NAME}_VERSION_MINOR}") - IF (${PROJECT_NAME}_VERSION_PATCH) - SET(OUT "${OUT}.${${PROJECT_NAME}_VERSION_PATCH}") - ENDIF(${PROJECT_NAME}_VERSION_PATCH) - ENDIF(${PROJECT_NAME}_VERSION_MINOR) - ENDIF(${PROJECT_NAME}_VERSION_MAJOR) - # keep suffix - SET(OUT "${OUT}.chm") - - #MESSAGE("DBG ${PROJECT_BINARY_DIR}/Doc/html/index.chm \n${OUT}") - # create target used by install and package commands - INSTALL(FILES "${PROJECT_BINARY_DIR}/Doc/html/index.chm" - DESTINATION "doc" - RENAME "${OUT}" - ) - ENDIF(EXISTS "${PROJECT_BINARY_DIR}/Doc/html/index.chm") - ENDIF(NOT TARGET_DOC_SKIP_INSTALL) - - ENDIF(HTML_HELP_COMPILER) - # MESSAGE(SEND_ERROR "HTML_HELP_COMPILER=${HTML_HELP_COMPILER}") - ENDIF (WIN32) -ENDIF(DOXYGEN_FOUND) diff --git a/cmake/ACGOutput.cmake b/cmake/ACGOutput.cmake deleted file mode 100644 index d06e298c..00000000 --- a/cmake/ACGOutput.cmake +++ /dev/null @@ -1,49 +0,0 @@ -# fill string with spaces -macro (acg_format_string str length return) - string (LENGTH "${str}" _str_len) - math (EXPR _add_chr "${length} - ${_str_len}") - set (${return} "${str}") - while (_add_chr GREATER 0) - set (${return} "${${return}} ") - math (EXPR _add_chr "${_add_chr} - 1") - endwhile () -endmacro () - -# print message with color escape sequences if CMAKE_COLOR_MAKEFILE is set -string (ASCII 27 _escape) -function (acg_color_message _str) - if (CMAKE_COLOR_MAKEFILE AND NOT WIN32) - message (${_str}) - else () - string (REGEX REPLACE "${_escape}.[0123456789;]*m" "" __str ${_str}) - message (${__str}) - endif () -endfunction () - -# info header -function (acg_print_configure_header _id _name) - acg_format_string ("${_name}" 40 _project) - acg_format_string ("${${_id}_VERSION}" 40 _version) - acg_color_message ("\n${_escape}[40;37m************************************************************${_escape}[0m") - acg_color_message ("${_escape}[40;37m* ${_escape}[1;31mACG ${_escape}[0;40;34mBuildsystem${_escape}[0m${_escape}[40;37m *${_escape}[0m") - acg_color_message ("${_escape}[40;37m* *${_escape}[0m") - acg_color_message ("${_escape}[40;37m* Package : ${_escape}[32m${_project} ${_escape}[37m *${_escape}[0m") - acg_color_message ("${_escape}[40;37m* Version : ${_escape}[32m${_version} ${_escape}[37m *${_escape}[0m") - - if ( NOT WIN32 ) - # Just artistic. remove 2 spaces for release to make it look nicer ;-) - if (${CMAKE_BUILD_TYPE} MATCHES "Debug") - acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m") - else() - acg_color_message ("${_escape}[40;37m* Type : ${_escape}[32m${CMAKE_BUILD_TYPE} ${_escape}[37m *${_escape}[0m") - endif() - endif() - - acg_color_message ("${_escape}[40;37m************************************************************${_escape}[0m") -endfunction () - -# info line -function (acg_print_configure_footer) - acg_color_message ("${_escape}[40;37m************************************************************${_escape}[0m\n") -endfunction () - diff --git a/cmake/ACGQt.cmake b/cmake/ACGQt.cmake deleted file mode 100644 index c3e6ed67..00000000 --- a/cmake/ACGQt.cmake +++ /dev/null @@ -1,105 +0,0 @@ -macro (acg_qt5) - - #try to find qt5 automatically - #for custom installation of qt5, dont use any of these variables - set (QT5_INSTALL_PATH "" CACHE PATH "Path to Qt5 directory which contains lib and include folder") - - if (EXISTS "${QT5_INSTALL_PATH}") - set (CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${QT5_INSTALL_PATH}") - set (QT5_INSTALL_PATH_EXISTS TRUE) - endif(EXISTS "${QT5_INSTALL_PATH}") - - set(QT5_FINDER_FLAGS "" CACHE STRING "Flags for the Qt finder e.g. - NO_DEFAULT_PATH if no system installed Qt shall be found") - # compute default search paths - set(SUPPORTED_QT_VERSIONS 5.11 5.10 5.9 5.8 5.7 5.6) - foreach (suffix gcc_64 clang_64) - foreach(version ${SUPPORTED_QT_VERSIONS}) - list(APPEND QT_DEFAULT_PATH "~/sw/Qt/${version}/${suffix}") - endforeach() - endforeach() - - find_package (Qt5Core PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS}) - if(Qt5Core_FOUND) - - if(Qt5Core_VERSION) # use the new version variable if it is set - set(Qt5Core_VERSION_STRING ${Qt5Core_VERSION}) - endif(Qt5Core_VERSION) - - string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${Qt5Core_VERSION_STRING}") - string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${Qt5Core_VERSION_STRING}") - string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${Qt5Core_VERSION_STRING}") - - find_package (Qt5Widgets QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS}) - find_package (Qt5Gui QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS}) - find_package (Qt5OpenGL QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS}) - - if (NOT WIN32 AND NOT APPLE) - find_package (Qt5X11Extras QUIET PATHS ${QT_DEFAULT_PATH} ${QT5_FINDER_FLAGS}) - endif () - - if (Qt5Core_FOUND AND Qt5Widgets_FOUND AND Qt5Gui_FOUND AND Qt5OpenGL_FOUND ) - set (QT5_FOUND TRUE) - endif() - - endif(Qt5Core_FOUND) - - if (QT5_FOUND) - - #set plugin dir - list(GET Qt5Gui_PLUGINS 0 _plugin) - if (_plugin) - get_target_property(_plugin_full ${_plugin} LOCATION) - get_filename_component(_plugin_dir ${_plugin_full} PATH) - set (QT_PLUGINS_DIR "${_plugin_dir}/../" CACHE PATH "Path to the qt plugin directory") - elseif(QT5_INSTALL_PATH_EXISTS) - set (QT_PLUGINS_DIR "${QT5_INSTALL_PATH}/plugins/" CACHE PATH "Path to the qt plugin directory") - elseif() - set (QT_PLUGINS_DIR "QT_PLUGIN_DIR_NOT_FOUND" CACHE PATH "Path to the qt plugin directory") - endif(_plugin) - - #set binary dir for fixupbundle - if(QT5_INSTALL_PATH_EXISTS) - set(_QT_BINARY_DIR "${QT5_INSTALL_PATH}/bin") - else() - get_target_property(_QT_BINARY_DIR ${Qt5Widgets_UIC_EXECUTABLE} LOCATION) - get_filename_component(_QT_BINARY_DIR ${_QT_BINARY_DIR} PATH) - endif(QT5_INSTALL_PATH_EXISTS) - - set (QT_BINARY_DIR "${_QT_BINARY_DIR}" CACHE PATH "Qt5 binary Directory") - mark_as_advanced(QT_BINARY_DIR) - - set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - - if (Qt5X11Extras_FOUND) - include_directories(${Qt5X11Extras_INCLUDE_DIRS}) - add_definitions(${Qt5X11Extras_DEFINITIONS}) - endif () - - if ( NOT MSVC ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") - endif() - - #adding QT_NO_DEBUG to all release modes. - # Note: for multi generators like msvc you cannot set this definition depending of - # the current build type, because it may change in the future inside the ide and not via cmake - if (MSVC_IDE) - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - - set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - set(CMAKE_CXX_FLAGS_MINSITEREL "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /DQT_NO_DEBUG") - else(MSVC_IDE) - if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - add_definitions(-DQT_NO_DEBUG) - endif() - endif(MSVC_IDE) - - # Enable automoc - set(CMAKE_AUTOMOC ON) - - endif (QT5_FOUND) -endmacro ()