Merge branch 'cmake-library' into 'master'
use CMake library See merge request OpenMesh/OpenMesh!288
This commit is contained in:
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "cmake-library"]
|
||||||
|
path = cmake-library
|
||||||
|
url = ../../cmake/cmake-library
|
||||||
@@ -37,13 +37,13 @@ if (NOT WIN32 AND NOT CMAKE_BUILD_TYPE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# add our macro directory to cmake search path
|
# 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")
|
set (CMAKE_DEBUG_POSTFIX "d")
|
||||||
|
|
||||||
# include our cmake files
|
# include our cmake files
|
||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
acg_get_version ()
|
vci_get_version ()
|
||||||
|
|
||||||
|
|
||||||
# Disable package building when built as an external library
|
# Disable package building when built as an external library
|
||||||
@@ -51,8 +51,8 @@ if(${PROJECT_NAME} MATCHES "OpenMesh")
|
|||||||
include(OpenMeshPackage)
|
include(OpenMeshPackage)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include (ACGOutput)
|
include (VCIOutput)
|
||||||
include(ACGQt)
|
include(VCIQt)
|
||||||
|
|
||||||
# ========================================================================
|
# ========================================================================
|
||||||
# Definitions
|
# Definitions
|
||||||
@@ -203,4 +203,4 @@ install(EXPORT OpenMeshConfig DESTINATION share/OpenMesh/cmake)
|
|||||||
export(TARGETS OpenMeshCore OpenMeshTools FILE OpenMeshConfig.cmake)
|
export(TARGETS OpenMeshCore OpenMeshTools FILE OpenMeshConfig.cmake)
|
||||||
|
|
||||||
# display results
|
# display results
|
||||||
acg_print_configure_header (OPENMESH "OpenMesh")
|
vci_print_configure_header (OPENMESH "OpenMesh")
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
include (ACGDoxygen)
|
include (VCIDoxygen)
|
||||||
|
|
||||||
IF (DOXYGEN_FOUND)
|
IF (DOXYGEN_FOUND)
|
||||||
|
|
||||||
# Add a documentation install target
|
# Add a documentation install target
|
||||||
add_custom_target(doc-install COMMENT "Installing Documentation" VERBATIM )
|
vci_create_doc_target(doc-install)
|
||||||
|
|
||||||
# Build Documentation before installing it
|
|
||||||
add_dependencies(doc-install doc)
|
|
||||||
|
|
||||||
if (TARGET doc-install)
|
if (TARGET doc-install)
|
||||||
acg_copy_after_build (doc-install "${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_DATADIR}/Doc/html" "${CMAKE_INSTALL_PREFIX}/${ACG_PROJECT_DATADIR}/doc/html")
|
vci_copy_after_build (doc-install "${CMAKE_BINARY_DIR}/Build/${VCI_PROJECT_DATADIR}/Doc/html" "${CMAKE_INSTALL_PREFIX}/${VCI_PROJECT_DATADIR}/doc/html")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ENDIF(DOXYGEN_FOUND)
|
ENDIF(DOXYGEN_FOUND)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
@@ -8,10 +8,10 @@ include_directories (
|
|||||||
set (targetName MyOwnProject)
|
set (targetName MyOwnProject)
|
||||||
|
|
||||||
# collect all header and source files
|
# collect all header and source files
|
||||||
acg_append_files (headers "*.hh" .)
|
vci_append_files (headers "*.hh" .)
|
||||||
acg_append_files (sources "*.cc" .)
|
vci_append_files (sources "*.cc" .)
|
||||||
|
|
||||||
acg_add_executable (${targetName} ${headers} ${sources})
|
vci_add_executable (${targetName} ${headers} ${sources})
|
||||||
|
|
||||||
target_link_libraries (${targetName}
|
target_link_libraries (${targetName}
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/images/rwth_vci_rgb.jpg
|
|||||||
# entered, it will be relative to the location where doxygen was started. If
|
# entered, it will be relative to the location where doxygen was started. If
|
||||||
# left blank the current directory will be used.
|
# left blank the current directory will be used.
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/Build/@ACG_PROJECT_DATADIR@/Doc
|
OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/Build/@VCI_PROJECT_DATADIR@/Doc
|
||||||
|
|
||||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||||
# directories (in 2 levels) under the output directory of each output format and
|
# directories (in 2 levels) under the output directory of each output format and
|
||||||
@@ -1128,7 +1128,7 @@ HTML_HEADER =
|
|||||||
# that doxygen normally uses.
|
# that doxygen normally uses.
|
||||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||||
|
|
||||||
HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/html/acg_footer.html
|
HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/html/vci_footer.html
|
||||||
|
|
||||||
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
|
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
|
||||||
# sheet that is used by each HTML page. It can be used to fine-tune the look of
|
# sheet that is used by each HTML page. It can be used to fine-tune the look of
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<a href="http://www.rwth-graphics.de" style="text-decoration:none;">
|
<a href="http://www.rwth-graphics.de" style="text-decoration:none;">
|
||||||
</a>
|
</a>
|
||||||
Project <b>$projectname</b>,
|
Project <b>$projectname</b>,
|
||||||
© Computer Graphics Group, RWTH Aachen.
|
© Visual Computing Institute, RWTH Aachen.
|
||||||
Documentation generated using
|
Documentation generated using
|
||||||
<a class="el" href="http://www.doxygen.org/index.html">
|
<a class="el" href="http://www.doxygen.org/index.html">
|
||||||
<b>doxygen</b>
|
<b>doxygen</b>
|
||||||
@@ -5,13 +5,13 @@
|
|||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usepackage{color}
|
\usepackage{color}
|
||||||
|
|
||||||
\definecolor{ACG}{RGB}{55,91,64}
|
\definecolor{VCI}{RGB}{55,91,64}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
|
|
||||||
%\colorbox{ACG}{
|
%\colorbox{VCI}{
|
||||||
|
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usepackage{color}
|
\usepackage{color}
|
||||||
|
|
||||||
\definecolor{ACG}{RGB}{55,91,64}
|
\definecolor{VCI}{RGB}{55,91,64}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
|
|
||||||
%\colorbox{ACG}{
|
%\colorbox{VCI}{
|
||||||
|
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
[
|
[
|
||||||
|
|||||||
1
cmake-library
Submodule
1
cmake-library
Submodule
Submodule cmake-library added at a493852332
@@ -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} <path to the sources>\".")
|
|
||||||
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
|
|
||||||
$<TARGET_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_BINDIR}/$<TARGET_FILE_NAME:${_target}>)
|
|
||||||
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
|
|
||||||
$<TARGET_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$<TARGET_FILE_NAME:${_target}>)
|
|
||||||
add_custom_command (TARGET ${_target} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E
|
|
||||||
copy_if_different
|
|
||||||
$<TARGET_LINKER_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$<TARGET_LINKER_FILE_NAME:${_target}>)
|
|
||||||
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
|
|
||||||
$<TARGET_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_PLUGINDIR}/$<TARGET_FILE_NAME:${_target}>)
|
|
||||||
elseif (${_type} STREQUAL STATIC)
|
|
||||||
add_custom_command (TARGET ${_target} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E
|
|
||||||
copy_if_different
|
|
||||||
$<TARGET_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$<TARGET_FILE_NAME:${_target}>)
|
|
||||||
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
|
|
||||||
$<TARGET_FILE:${_target}>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_BINDIR}/$<TARGET_FILE_NAME:${_target}>)
|
|
||||||
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
|
|
||||||
$<TARGET_FILE:${_target}Static>
|
|
||||||
${CMAKE_BINARY_DIR}/Build/${ACG_PROJECT_LIBDIR}/$<TARGET_FILE_NAME:${_target}Static>)
|
|
||||||
|
|
||||||
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 ()
|
|
||||||
|
|
||||||
@@ -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 ()
|
|
||||||
@@ -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)
|
|
||||||
@@ -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 ()
|
|
||||||
|
|
||||||
@@ -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 ()
|
|
||||||
@@ -7,7 +7,7 @@ option (
|
|||||||
|
|
||||||
# set name
|
# set name
|
||||||
set (CPACK_PACKAGE_NAME "OpenMesh")
|
set (CPACK_PACKAGE_NAME "OpenMesh")
|
||||||
set (CPACK_PACKAGE_VENDOR "ACG")
|
set (CPACK_PACKAGE_VENDOR "VCI")
|
||||||
|
|
||||||
# set version
|
# set version
|
||||||
set (CPACK_PACKAGE_VERSION_MAJOR "${OPENMESH_VERSION_MAJOR}")
|
set (CPACK_PACKAGE_VERSION_MAJOR "${OPENMESH_VERSION_MAJOR}")
|
||||||
@@ -47,9 +47,6 @@ list (APPEND CPACK_SOURCE_IGNORE_FILES "/tmp/")
|
|||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevelop")
|
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevelop")
|
||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevses")
|
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.kdevses")
|
||||||
|
|
||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/ACG/lib/")
|
|
||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/ACG/include/")
|
|
||||||
|
|
||||||
if (DISABLE_QMAKE_BUILD)
|
if (DISABLE_QMAKE_BUILD)
|
||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.pro")
|
list (APPEND CPACK_SOURCE_IGNORE_FILES "/.*\\\\.pro")
|
||||||
list (APPEND CPACK_SOURCE_IGNORE_FILES "/qmake/")
|
list (APPEND CPACK_SOURCE_IGNORE_FILES "/qmake/")
|
||||||
@@ -123,7 +120,7 @@ endif ()
|
|||||||
if (WIN32)
|
if (WIN32)
|
||||||
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP "true")
|
set (CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP "true")
|
||||||
# include (InstallRequiredSystemLibraries)
|
# include (InstallRequiredSystemLibraries)
|
||||||
install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${ACG_PROJECT_BINDIR})
|
install (PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${VCI_PROJECT_BINDIR})
|
||||||
else ()
|
else ()
|
||||||
include (InstallRequiredSystemLibraries)
|
include (InstallRequiredSystemLibraries)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
if ( NOT DEFINED BUILD_APPS )
|
if ( NOT DEFINED BUILD_APPS )
|
||||||
set( BUILD_APPS true CACHE BOOL "Enable or disable building of apps" )
|
set( BUILD_APPS true CACHE BOOL "Enable or disable building of apps" )
|
||||||
@@ -42,7 +42,14 @@ if ( BUILD_APPS )
|
|||||||
|
|
||||||
# For the apps, we need qt and opengl to build them
|
# For the apps, we need qt and opengl to build them
|
||||||
if (NOT QT5_FOUND)
|
if (NOT QT5_FOUND)
|
||||||
acg_qt5 ()
|
set(QT5_REQUIRED_PACKAGES
|
||||||
|
Qt5Core
|
||||||
|
Qt5Widgets
|
||||||
|
Qt5OpenGL
|
||||||
|
Qt5Gui
|
||||||
|
)
|
||||||
|
vci_qt5 ()
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles")
|
if ("${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
@@ -21,9 +21,9 @@ set (sources
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
acg_add_executable (DecimaterGui WIN32 ${sources} ${headers})
|
vci_add_executable (DecimaterGui WIN32 ${sources} ${headers})
|
||||||
else ()
|
else ()
|
||||||
acg_add_executable (DecimaterGui ${sources} ${headers} )
|
vci_add_executable (DecimaterGui ${sources} ${headers} )
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries (DecimaterGui
|
target_link_libraries (DecimaterGui
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (commandlineDecimater ../decimater.cc)
|
vci_add_executable (commandlineDecimater ../decimater.cc)
|
||||||
|
|
||||||
target_link_libraries (commandlineDecimater
|
target_link_libraries (commandlineDecimater
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (Dualizer dualizer.cc)
|
vci_add_executable (Dualizer dualizer.cc)
|
||||||
|
|
||||||
target_link_libraries (Dualizer
|
target_link_libraries (Dualizer
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
@@ -20,9 +20,9 @@ set( sources
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
acg_add_executable( ProgViewer WIN32 ${sources} ${headers})
|
vci_add_executable( ProgViewer WIN32 ${sources} ${headers})
|
||||||
else ()
|
else ()
|
||||||
acg_add_executable( ProgViewer ${sources} ${headers})
|
vci_add_executable( ProgViewer ${sources} ${headers})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries ( ProgViewer
|
target_link_libraries ( ProgViewer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
@@ -22,9 +22,9 @@ set (headers
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
acg_add_executable (QtViewer WIN32 ${sources} ${headers})
|
vci_add_executable (QtViewer WIN32 ${sources} ${headers})
|
||||||
else ()
|
else ()
|
||||||
acg_add_executable (QtViewer ${sources} ${headers})
|
vci_add_executable (QtViewer ${sources} ${headers})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries (QtViewer
|
target_link_libraries (QtViewer
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (Smoothing smooth.cc)
|
vci_add_executable (Smoothing smooth.cc)
|
||||||
|
|
||||||
target_link_libraries (Smoothing
|
target_link_libraries (Smoothing
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
@@ -20,9 +20,9 @@ set (sources
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
acg_add_executable (SubdividerGui WIN32 ${sources} ${headers})
|
vci_add_executable (SubdividerGui WIN32 ${sources} ${headers})
|
||||||
else ()
|
else ()
|
||||||
acg_add_executable (SubdividerGui ${sources} ${headers})
|
vci_add_executable (SubdividerGui ${sources} ${headers})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries (SubdividerGui
|
target_link_libraries (SubdividerGui
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (commandlineAdaptiveSubdivider ../adaptive_subdivider.cc)
|
vci_add_executable (commandlineAdaptiveSubdivider ../adaptive_subdivider.cc)
|
||||||
|
|
||||||
target_link_libraries (commandlineAdaptiveSubdivider
|
target_link_libraries (commandlineAdaptiveSubdivider
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (commandlineSubdivider ../subdivider.cc)
|
vci_add_executable (commandlineSubdivider ../subdivider.cc)
|
||||||
|
|
||||||
target_link_libraries (commandlineSubdivider
|
target_link_libraries (commandlineSubdivider
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (Analyzer vdpmanalyzer.cc)
|
vci_add_executable (Analyzer vdpmanalyzer.cc)
|
||||||
|
|
||||||
target_link_libraries (Analyzer
|
target_link_libraries (Analyzer
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
@@ -17,9 +17,9 @@ set (sources
|
|||||||
|
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
acg_add_executable (Synthesizer WIN32 ${sources} ${headers})
|
vci_add_executable (Synthesizer WIN32 ${sources} ${headers})
|
||||||
else ()
|
else ()
|
||||||
acg_add_executable (Synthesizer ${sources} ${headers})
|
vci_add_executable (Synthesizer ${sources} ${headers})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries (Synthesizer
|
target_link_libraries (Synthesizer
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../../..
|
../../../..
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (mkbalancedpm mkbalancedpm.cc)
|
vci_add_executable (mkbalancedpm mkbalancedpm.cc)
|
||||||
|
|
||||||
target_link_libraries (mkbalancedpm
|
target_link_libraries (mkbalancedpm
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../../..
|
../../..
|
||||||
)
|
)
|
||||||
|
|
||||||
acg_add_executable (mconvert mconvert.cc)
|
vci_add_executable (mconvert mconvert.cc)
|
||||||
|
|
||||||
target_link_libraries (mconvert
|
target_link_libraries (mconvert
|
||||||
OpenMeshCore
|
OpenMeshCore
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../..
|
../..
|
||||||
@@ -21,12 +21,12 @@ set (directories
|
|||||||
)
|
)
|
||||||
|
|
||||||
# collect all header and source files
|
# collect all header and source files
|
||||||
acg_append_files (headers "*.hh" ${directories})
|
vci_append_files (headers "*.hh" ${directories})
|
||||||
acg_append_files (sources "*.cc" ${directories})
|
vci_append_files (sources "*.cc" ${directories})
|
||||||
|
|
||||||
# Disable Library installation when not building OpenMesh on its own but as part of another project!
|
# Disable Library installation when not building OpenMesh on its own but as part of another project!
|
||||||
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh")
|
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh")
|
||||||
set(ACG_NO_LIBRARY_INSTALL true)
|
set(VCI_NO_LIBRARY_INSTALL true)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@@ -34,14 +34,14 @@ if (WIN32)
|
|||||||
|
|
||||||
if ( OPENMESH_BUILD_SHARED )
|
if ( OPENMESH_BUILD_SHARED )
|
||||||
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
|
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
|
||||||
acg_add_library (OpenMeshCore SHARED ${sources} ${headers})
|
vci_add_library (OpenMeshCore SHARED ${sources} ${headers})
|
||||||
else()
|
else()
|
||||||
# OpenMesh has no dll exports so we have to build a static library on windows
|
# OpenMesh has no dll exports so we have to build a static library on windows
|
||||||
acg_add_library (OpenMeshCore STATIC ${sources} ${headers})
|
vci_add_library (OpenMeshCore STATIC ${sources} ${headers})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
else ()
|
else ()
|
||||||
acg_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers})
|
vci_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers})
|
||||||
set_target_properties (OpenMeshCore PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR}
|
set_target_properties (OpenMeshCore PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR}
|
||||||
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} )
|
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} )
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
# Install Header Files (Apple)
|
# Install Header Files (Apple)
|
||||||
if ( NOT ACG_PROJECT_MACOS_BUNDLE AND APPLE )
|
if ( NOT VCI_PROJECT_MACOS_BUNDLE AND APPLE )
|
||||||
FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" )
|
FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" )
|
||||||
FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" )
|
FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" )
|
||||||
FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" )
|
FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" )
|
||||||
@@ -137,7 +137,7 @@ target_include_directories(OpenMeshCore PUBLIC
|
|||||||
$<INSTALL_INTERFACE:include>)
|
$<INSTALL_INTERFACE:include>)
|
||||||
|
|
||||||
install(TARGETS OpenMeshCore EXPORT OpenMeshConfig
|
install(TARGETS OpenMeshCore EXPORT OpenMeshConfig
|
||||||
ARCHIVE DESTINATION ${ACG_PROJECT_LIBDIR}
|
ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR}
|
||||||
LIBRARY DESTINATION ${ACG_PROJECT_LIBDIR}
|
LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR}
|
||||||
RUNTIME DESTINATION ${ACG_PROJECT_BINDIR})
|
RUNTIME DESTINATION ${VCI_PROJECT_BINDIR})
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace OpenMesh {
|
|||||||
//== CLASS DEFINITION =========================================================
|
//== CLASS DEFINITION =========================================================
|
||||||
|
|
||||||
|
|
||||||
/** /class NormalCone NormalCone.hh <ACG/Geometry/Types/NormalCone.hh>
|
/** /class NormalCone NormalCone.hh <OpenMesh/Core/Geometry/NormalConeT.hh>
|
||||||
|
|
||||||
NormalCone that can be merged with other normal cones. Provides
|
NormalCone that can be merged with other normal cones. Provides
|
||||||
the center normal and the opening angle.
|
the center normal and the opening angle.
|
||||||
|
|||||||
@@ -47,12 +47,6 @@
|
|||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
#if defined(ACGMAKE_STATIC_BUILD)
|
|
||||||
# define OM_STATIC_BUILD 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//=============================================================================
|
|
||||||
|
|
||||||
#if defined(_DEBUG) || defined(DEBUG)
|
#if defined(_DEBUG) || defined(DEBUG)
|
||||||
# define OM_DEBUG
|
# define OM_DEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
../..
|
../..
|
||||||
@@ -19,16 +19,16 @@ set (directories
|
|||||||
)
|
)
|
||||||
|
|
||||||
# collect all header and source files
|
# collect all header and source files
|
||||||
acg_append_files (headers "*.hh" ${directories})
|
vci_append_files (headers "*.hh" ${directories})
|
||||||
acg_append_files (sources "*.cc" ${directories})
|
vci_append_files (sources "*.cc" ${directories})
|
||||||
|
|
||||||
IF(WIN32 AND NOT MINGW)
|
IF(WIN32 AND NOT MINGW)
|
||||||
acg_append_files (sources "*.c" ${directories})
|
vci_append_files (sources "*.c" ${directories})
|
||||||
ENDIF(WIN32 AND NOT MINGW)
|
ENDIF(WIN32 AND NOT MINGW)
|
||||||
|
|
||||||
# Disable Library installation when not building OpenMesh on its own but as part of another project!
|
# Disable Library installation when not building OpenMesh on its own but as part of another project!
|
||||||
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh")
|
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh")
|
||||||
set(ACG_NO_LIBRARY_INSTALL true)
|
set(VCI_NO_LIBRARY_INSTALL true)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@@ -36,14 +36,14 @@ if (WIN32)
|
|||||||
|
|
||||||
if ( OPENMESH_BUILD_SHARED )
|
if ( OPENMESH_BUILD_SHARED )
|
||||||
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
|
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
|
||||||
acg_add_library (OpenMeshTools SHARED ${sources} ${headers})
|
vci_add_library (OpenMeshTools SHARED ${sources} ${headers})
|
||||||
else()
|
else()
|
||||||
# OpenMesh has no dll exports so we have to build a static library on windows
|
# OpenMesh has no dll exports so we have to build a static library on windows
|
||||||
acg_add_library (OpenMeshTools STATIC ${sources} ${headers})
|
vci_add_library (OpenMeshTools STATIC ${sources} ${headers})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
else ()
|
else ()
|
||||||
acg_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers})
|
vci_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers})
|
||||||
set_target_properties (OpenMeshTools PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR}
|
set_target_properties (OpenMeshTools PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR}
|
||||||
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} )
|
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} )
|
||||||
endif ()
|
endif ()
|
||||||
@@ -74,7 +74,7 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
# Install Header Files (Apple)
|
# Install Header Files (Apple)
|
||||||
if ( NOT ACG_PROJECT_MACOS_BUNDLE AND APPLE )
|
if ( NOT VCI_PROJECT_MACOS_BUNDLE AND APPLE )
|
||||||
FILE(GLOB files_install_Decimater "${CMAKE_CURRENT_SOURCE_DIR}/Decimater/*.hh" )
|
FILE(GLOB files_install_Decimater "${CMAKE_CURRENT_SOURCE_DIR}/Decimater/*.hh" )
|
||||||
FILE(GLOB files_install_Dualizer "${CMAKE_CURRENT_SOURCE_DIR}/Dualizer/*.hh" )
|
FILE(GLOB files_install_Dualizer "${CMAKE_CURRENT_SOURCE_DIR}/Dualizer/*.hh" )
|
||||||
FILE(GLOB files_install_KERNEL_OSG "${CMAKE_CURRENT_SOURCE_DIR}/Kernel_OSG/*.hh" )
|
FILE(GLOB files_install_KERNEL_OSG "${CMAKE_CURRENT_SOURCE_DIR}/Kernel_OSG/*.hh" )
|
||||||
@@ -120,7 +120,7 @@ target_include_directories(OpenMeshTools PUBLIC
|
|||||||
$<INSTALL_INTERFACE:include>)
|
$<INSTALL_INTERFACE:include>)
|
||||||
|
|
||||||
install(TARGETS OpenMeshTools EXPORT OpenMeshConfig
|
install(TARGETS OpenMeshTools EXPORT OpenMeshConfig
|
||||||
ARCHIVE DESTINATION ${ACG_PROJECT_LIBDIR}
|
ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR}
|
||||||
LIBRARY DESTINATION ${ACG_PROJECT_LIBDIR}
|
LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR}
|
||||||
RUNTIME DESTINATION ${ACG_PROJECT_BINDIR})
|
RUNTIME DESTINATION ${VCI_PROJECT_BINDIR})
|
||||||
|
|
||||||
|
|||||||
@@ -197,6 +197,6 @@ private:
|
|||||||
} // END_NS_DECIMATER
|
} // END_NS_DECIMATER
|
||||||
} // END_NS_OPENMESH
|
} // END_NS_OPENMESH
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
#endif // OPENACG_MODNORMALFLIPPING_HH defined
|
#endif // OPENMESH_DECIMATER_MODNORMALFLIPPING_HH defined
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
include (ACGCommon)
|
include (VCICommon)
|
||||||
|
|
||||||
include_directories (
|
include_directories (
|
||||||
..
|
..
|
||||||
@@ -39,13 +39,13 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
|
|||||||
# Create new target named unittests_hexmeshing
|
# Create new target named unittests_hexmeshing
|
||||||
FILE(GLOB UNITTEST_SRC *.cc)
|
FILE(GLOB UNITTEST_SRC *.cc)
|
||||||
# Create unittest executable
|
# Create unittest executable
|
||||||
acg_add_executable(unittests ${UNITTEST_SRC})
|
vci_add_executable(unittests ${UNITTEST_SRC})
|
||||||
acg_add_executable(unittests_customvec ${UNITTEST_SRC})
|
vci_add_executable(unittests_customvec ${UNITTEST_SRC})
|
||||||
acg_add_executable(unittests_doublevec ${UNITTEST_SRC})
|
vci_add_executable(unittests_doublevec ${UNITTEST_SRC})
|
||||||
target_compile_definitions(unittests_customvec PRIVATE TEST_CUSTOM_TRAITS)
|
target_compile_definitions(unittests_customvec PRIVATE TEST_CUSTOM_TRAITS)
|
||||||
target_compile_definitions(unittests_doublevec PRIVATE TEST_DOUBLE_TRAITS)
|
target_compile_definitions(unittests_doublevec PRIVATE TEST_DOUBLE_TRAITS)
|
||||||
|
|
||||||
# For the unittest we don't want the install rpath as set by acg_add_executable
|
# For the unittest we don't want the install rpath as set by vci_add_executable
|
||||||
set_target_properties ( unittests PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
set_target_properties ( unittests PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
||||||
set_target_properties ( unittests_customvec PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
set_target_properties ( unittests_customvec PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
||||||
set_target_properties ( unittests_doublevec PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
set_target_properties ( unittests_doublevec PROPERTIES BUILD_WITH_INSTALL_RPATH 0 )
|
||||||
@@ -120,9 +120,9 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
|
|||||||
endforeach(TAR)
|
endforeach(TAR)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
acg_copy_after_build(unittests ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
vci_copy_after_build(unittests ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
||||||
acg_copy_after_build(unittests_customvec ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
vci_copy_after_build(unittests_customvec ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
||||||
acg_copy_after_build(unittests_doublevec ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
vci_copy_after_build(unittests_doublevec ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)
|
||||||
|
|
||||||
add_test(NAME AllTestsIn_OpenMesh_tests WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests")
|
add_test(NAME AllTestsIn_OpenMesh_tests WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests")
|
||||||
add_test(NAME AllTestsIn_OpenMesh_tests_with_minimal_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_customvec")
|
add_test(NAME AllTestsIn_OpenMesh_tests_with_minimal_vector WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/Unittests" COMMAND "${CMAKE_BINARY_DIR}/Unittests/unittests_customvec")
|
||||||
|
|||||||
Reference in New Issue
Block a user