netgen/cmake/SuperBuild.cmake

344 lines
12 KiB
CMake
Raw Normal View History

include (ExternalProject)
option( BUILD_ZLIB "Build and link static version of zlib (useful for pip binaries)" OFF )
option( BUILD_OCC "Build and link static version of occ (useful for pip binaries)" OFF )
set_property (DIRECTORY PROPERTY EP_PREFIX dependencies)
set (NETGEN_DEPENDENCIES)
set (LAPACK_DEPENDENCIES)
set (NETGEN_CMAKE_ARGS "" CACHE INTERNAL "")
2021-10-27 19:50:07 +05:00
set (SUBPROJECT_CMAKE_ARGS "" CACHE INTERNAL "")
2021-10-27 19:50:07 +05:00
set (SUBPROJECT_ARGS
LIST_SEPARATOR |
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/dependencies
)
2023-07-28 16:01:41 +05:00
if (EMSCRIPTEN)
set (SUBPROJECT_ARGS
${SUBPROJECT_ARGS}
CMAKE_COMMAND emcmake ${CMAKE_COMMAND})
endif()
# only show output on failure in ci-builds
2021-11-08 19:52:52 +05:00
if(DEFINED ENV{CI})
set (SUBPROJECT_ARGS
2023-07-28 16:01:41 +05:00
${SUBPROJECT_ARGS}
LOG_DOWNLOAD ON
LOG_BUILD ON
LOG_INSTALL ON
LOG_CONFIGURE ON
2021-10-27 19:50:07 +05:00
)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0")
set (SUBPROJECT_ARGS
${SUBPROJECT_ARGS}
LOG_OUTPUT_ON_FAILURE ON
LOG_MERGED_STDOUTERR ON
)
endif()
2021-10-27 19:50:07 +05:00
endif()
set (NETGEN_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} )
macro(set_vars VAR_OUT)
foreach(varname ${ARGN})
if(NOT "${${varname}}" STREQUAL "")
2021-10-27 19:50:07 +05:00
string(REPLACE ";" "|" varvalue "${${varname}}" )
set(${VAR_OUT} "${${VAR_OUT}};-D${varname}=${varvalue}" CACHE INTERNAL "")
endif()
endforeach()
endmacro()
2021-10-27 19:50:07 +05:00
#######################################################################
set_vars(SUBPROJECT_CMAKE_ARGS CMAKE_OSX_DEPLOYMENT_TARGET)
set_vars(SUBPROJECT_CMAKE_ARGS CMAKE_OSX_SYSROOT)
set_vars(SUBPROJECT_CMAKE_ARGS CMAKE_C_COMPILER)
set_vars(SUBPROJECT_CMAKE_ARGS CMAKE_CXX_COMPILER)
set_vars(SUBPROJECT_CMAKE_ARGS CMAKE_BUILD_TYPE)
set(SUBPROJECT_CMAKE_ARGS "${SUBPROJECT_CMAKE_ARGS};-DCMAKE_POSITION_INDEPENDENT_CODE=ON" CACHE INTERNAL "")
if(USE_CCACHE)
find_program(CCACHE_FOUND NAMES ccache ccache.bat)
if(CCACHE_FOUND)
set(SUBPROJECT_CMAKE_ARGS "${SUBPROJECT_CMAKE_ARGS};-DCMAKE_CXX_COMPILER_LAUNCHER=${CCACHE_FOUND}" CACHE INTERNAL "")
endif()
endif()
#######################################################################
set (DEPS_DOWNLOAD_URL "https://github.com/NGSolve/ngsolve_dependencies/releases/download/v1.0.0" CACHE STRING INTERNAL)
2021-09-02 17:52:34 +05:00
set (OCC_DOWNLOAD_URL_WIN "${DEPS_DOWNLOAD_URL}/occ75_win64.zip" CACHE STRING INTERNAL)
set (TCLTK_DOWNLOAD_URL_WIN "${DEPS_DOWNLOAD_URL}/tcltk_win64.zip" CACHE STRING INTERNAL)
set (ZLIB_DOWNLOAD_URL_WIN "${DEPS_DOWNLOAD_URL}/zlib_win64.zip" CACHE STRING INTERNAL)
set (CGNS_DOWNLOAD_URL_WIN "${DEPS_DOWNLOAD_URL}/cgns_win64.zip" CACHE STRING INTERNAL)
set (CGNS_DOWNLOAD_URL_MAC "${DEPS_DOWNLOAD_URL}/cgns_mac.zip" CACHE STRING INTERNAL)
2021-10-27 19:50:07 +05:00
if(UNIX)
2017-01-10 22:45:49 +05:00
message("Checking for write permissions in install directory...")
Cleanup CMake build system - Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR - Allow finer control of install directories - Use compiled TCL code by default - Fix RPATH usage on Linux and MacOSX ### Allow finer control of install directories The following variables can be set to either absolute or relative paths NG_INSTALL_DIR_PYTHON: Python files NG_INSTALL_DIR_BIN: Executables NG_INSTALL_DIR_LIB: Libraries NG_INSTALL_DIR_INCLUDE: header files NG_INSTALL_DIR_CMAKE: CMake files NG_INSTALL_DIR_RES: Resources ### Use compiled TCL code by default The tcl files contained in Netgen are stored in onetcl.cpp as c-string. This way it's not necessary to install tcl files or set NETGENDIR ### Fix RPATH usage on Linux and MacOSX The Netgen installation should be completely relocatable now. Squashed commit of the following: commit 201eda5e62726bd87d76beb13c3e5643cd4c7810 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 21:10:08 2017 +0200 cleanup commit b4cd46a9d2f390b40c5223c8d9971f576b979644 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:47:46 2017 +0200 fix commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:41:45 2017 +0200 allow gui test to fail commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:26:18 2017 +0200 add python3-tk to docker images commit 4d1b5aac1d028867339819599708a08f2098bbd6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:22:18 2017 -0700 windows fix commit 92b5f8a95491ba3508143d7f1b94359edc0655ce Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:08:08 2017 -0700 fix for windows commit 3f7bf51434ef3b637b3563930ddb61d04af645cb Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:28:13 2017 +0200 fixes, test for gui commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:06:55 2017 +0200 fixes commit 67645bb896012149c23c851b03287199c21fa129 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 17:24:58 2017 +0200 netgen config commit b587b77a282768719cffc366c56d82a1746e0be0 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 16:53:47 2017 +0200 remove comments commit 2b34cc78818afa1cf21484bd0976413a91db0851 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 05:03:00 2017 -0700 fix windows commit 9e98efa54065624e264eaf1acf74b44ef022a68d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 13:42:11 2017 +0200 fixes commit 394b470a07d73431079f80caa36c7c7042077f40 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 12:24:40 2017 +0200 fix rpath issue commit 6787eae384a8592f90598258ccd8207cd499d9fc Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:37:05 2017 +0200 some more fixes with install dir commit fcf22659c60300e8d39d12e14b21c58a062e739c Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 01:34:06 2017 -0700 some fixes commit ede1f0c462978bb70d3b4e2251cb555a592e82e3 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 10:16:34 2017 +0200 fixes commit b6a1259876a77f54e419a44f1b44d03d5bb49b82 Merge: c79f9a3 6627b0b Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Wed May 24 09:35:50 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54 Merge: 99c3550 030ad1d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 22 17:52:24 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 99c35500850e08fdc847013bb384169b1483acb4 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 19 14:37:28 2017 +0200 fix rpath commit 8215e9748d9ee225266bc941da1ca252aebd27de Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 13:29:41 2017 +0200 remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9 Merge: 57027c8 f72a247 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 12:03:59 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 57027c8c706ff755bdf26887884bbdeca129fe8f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:32:05 2017 +0200 New CMake option: USE_INTERNAL_TCL (ON by default) This option uses the tcl code compiled in onetcl.cpp instead of separate tcl files by default. When set at configure time, no tcl files will be installed anymore. commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:16:52 2017 +0200 WIP: Cleanup of CMake files - Fix RPATH on Linux (TODO: other platforms) - New variables to specify install behaviour: NG_INSTALL_DIR_BIN NG_INSTALL_DIR_LIB NG_INSTALL_DIR_CMAKE NG_INSTALL_DIR_INCLUDE
2017-05-30 00:19:34 +05:00
execute_process(COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX})
execute_process(COMMAND test -w ${CMAKE_INSTALL_PREFIX} RESULT_VARIABLE res)
2017-01-10 22:45:49 +05:00
if(res)
2017-01-31 16:20:27 +05:00
message(WARNING "No write access at install directory, please set correct permissions")
endif()
endif(UNIX)
2021-10-27 19:50:07 +05:00
if(USE_OCC)
if(BUILD_OCC)
set(OCC_DIR ${CMAKE_CURRENT_BINARY_DIR}/dependencies/occ)
ExternalProject_Add(project_occ
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_3.zip
URL_MD5 2426e373903faabbd4f96a01a934b66d
# URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_8_0.zip
# URL_MD5 f4432df8e42cb6178ea09a7448427f6c
2021-10-27 19:50:07 +05:00
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies
${SUBPROJECT_ARGS}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${OCC_DIR}
-DCMAKE_PREFIX_PATH=${OCC_DIR}
-DBUILD_LIBRARY_TYPE:STRING=Static
-DBUILD_MODULE_FoundationClasses:BOOL=ON
-DBUILD_MODULE_ModelingData:BOOL=ON
-DBUILD_MODULE_ModelingAlgorithms:BOOL=ON
-DBUILD_MODULE_DataExchange:BOOL=ON
-DBUILD_MODULE_Visualization:BOOL=OFF
2021-10-27 19:50:07 +05:00
-DBUILD_MODULE_ApplicationFramework:BOOL=OFF
-DBUILD_MODULE_Draw:BOOL=OFF
2023-09-14 13:49:07 +05:00
-DBUILD_MODULE_DETools:BOOL=OFF
-DUSE_FREETYPE:BOOL=OFF
-DUSE_OPENGL:BOOL=OFF
-DUSE_XLIB:BOOL=OFF
-DBUILD_DOC_Overview:BOOL=OFF
2021-10-27 19:50:07 +05:00
${SUBPROJECT_CMAKE_ARGS}
UPDATE_COMMAND ""
)
list(APPEND NETGEN_DEPENDENCIES project_occ)
set(OpenCascade_ROOT ${OCC_DIR})
else(BUILD_OCC)
if(WIN32 AND NOT OCC_INCLUDE_DIR AND NOT OpenCASCADE_DIR)
# we can download prebuilt occ binaries for windows
ExternalProject_Add(win_download_occ
${SUBPROJECT_ARGS}
URL ${OCC_DOWNLOAD_URL_WIN}
UPDATE_COMMAND "" # Disable update
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory . ${CMAKE_INSTALL_PREFIX}
)
list(APPEND NETGEN_DEPENDENCIES win_download_occ)
else()
2023-07-26 02:14:58 +05:00
find_package(OpenCascade NAMES OpenCasCade OpenCASCADE opencascade)
if(NOT OpenCascade_FOUND)
message(FATAL_ERROR "Opencascade not found, either\n\
- set OpenCascade_DIR to a directory containting opencascadeConfig.cmake\n\
- build OpenCascade automatically by passing -DBUILD_OCC=ON\n\
- disable OpenCascade by passing -DUSE_OCC=OFF\n\
")
endif()
2021-10-27 19:50:07 +05:00
endif()
endif(BUILD_OCC)
endif(USE_OCC)
if(BUILD_ZLIB)
2023-07-28 16:01:41 +05:00
set(ZLIB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/dependencies/zlib)
2021-10-27 19:50:07 +05:00
ExternalProject_Add(project_zlib
${SUBPROJECT_ARGS}
URL https://github.com/madler/zlib/archive/refs/tags/v1.2.11.zip
URL_MD5 9d6a627693163bbbf3f26403a3a0b0b1
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies
CMAKE_ARGS
2023-07-28 16:01:41 +05:00
-DCMAKE_INSTALL_PREFIX=${ZLIB_ROOT}
2021-10-27 19:50:07 +05:00
${SUBPROJECT_CMAKE_ARGS}
UPDATE_COMMAND "" # Disable update
BUILD_IN_SOURCE 1
)
list(APPEND NETGEN_DEPENDENCIES project_zlib)
if(WIN32)
# force linking the static library
2023-07-28 16:01:41 +05:00
set(ZLIB_INCLUDE_DIRS ${ZLIB_ROOT}/include)
set(ZLIB_LIBRARIES ${ZLIB_ROOT}/lib/zlibstatic.lib)
elseif(EMSCRIPTEN)
set(ZLIB_INCLUDE_DIRS ${ZLIB_ROOT}/include)
set(ZLIB_LIBRARIES ${ZLIB_ROOT}/lib/libz.a)
2021-10-27 19:50:07 +05:00
endif(WIN32)
else()
include(cmake/external_projects/zlib.cmake)
endif()
#######################################################################
if (USE_PYTHON)
find_path(PYBIND_INCLUDE_DIR pybind11/pybind11.h PATHS ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies/pybind11/include NO_DEFAULT_PATH)
set(NG_INSTALL_PYBIND ON)
if( NOT PYBIND_INCLUDE_DIR )
# if the pybind submodule is missing, try to initialize and update all submodules
execute_process(COMMAND git submodule update --init --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
find_path(PYBIND_INCLUDE_DIR pybind11/pybind11.h PATHS ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies/pybind11/include NO_DEFAULT_PATH)
endif( NOT PYBIND_INCLUDE_DIR )
if( PYBIND_INCLUDE_DIR )
message("-- Found Pybind11: ${PYBIND_INCLUDE_DIR}")
else( PYBIND_INCLUDE_DIR )
message(FATAL_ERROR "Could NOT find pybind11!")
endif( PYBIND_INCLUDE_DIR )
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.18)
2023-09-14 13:49:25 +05:00
find_package(Python3 COMPONENTS Interpreter Development.Module)
2024-02-05 14:02:39 +05:00
if(NOT EMSCRIPTEN)
find_package(Python3 COMPONENTS Interpreter Development.Embed)
endif()
else()
find_package(Python3 REQUIRED COMPONENTS Interpreter Development)
endif()
set_vars(NETGEN_CMAKE_ARGS
Python3_INCLUDE_DIRS
Python3_LIBRARIES
Python3_EXECUTABLE
Python3_VERSION
PYBIND_INCLUDE_DIR
NG_INSTALL_PYBIND
)
endif (USE_PYTHON)
#######################################################################
if(USE_GUI)
include(cmake/external_projects/tcltk.cmake)
endif(USE_GUI)
2020-03-11 19:53:08 +05:00
if(USE_CGNS)
include(cmake/external_projects/cgns.cmake)
endif(USE_CGNS)
#######################################################################
if(USE_MPI)
2019-10-01 14:48:38 +05:00
if (METIS_DIR)
message(STATUS "Using external METIS at: ${METIS_DIR}")
else (METIS_DIR)
message(STATUS "Looking for system METIS")
find_package(METIS QUIET)
if(NOT METIS_FOUND)
message(WARNING "Could not find METIS, it will be built from source (this might conflict with NGSolve MUMPS)!")
include(cmake/external_projects/metis.cmake)
endif(NOT METIS_FOUND)
endif(METIS_DIR)
endif(USE_MPI)
#######################################################################
# propagate cmake variables to Netgen subproject
set_vars( NETGEN_CMAKE_ARGS
2023-09-05 20:13:29 +05:00
CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_RELEASE
2023-09-05 20:13:29 +05:00
CMAKE_STRIP
USE_GUI
USE_PYTHON
USE_MPI
USE_VT
USE_VTUNE
USE_NUMA
USE_CCACHE
USE_NATIVE_ARCH
USE_OCC
USE_MPEG
USE_JPEG
2020-03-11 15:48:05 +05:00
USE_CGNS
Cleanup CMake build system - Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR - Allow finer control of install directories - Use compiled TCL code by default - Fix RPATH usage on Linux and MacOSX ### Allow finer control of install directories The following variables can be set to either absolute or relative paths NG_INSTALL_DIR_PYTHON: Python files NG_INSTALL_DIR_BIN: Executables NG_INSTALL_DIR_LIB: Libraries NG_INSTALL_DIR_INCLUDE: header files NG_INSTALL_DIR_CMAKE: CMake files NG_INSTALL_DIR_RES: Resources ### Use compiled TCL code by default The tcl files contained in Netgen are stored in onetcl.cpp as c-string. This way it's not necessary to install tcl files or set NETGENDIR ### Fix RPATH usage on Linux and MacOSX The Netgen installation should be completely relocatable now. Squashed commit of the following: commit 201eda5e62726bd87d76beb13c3e5643cd4c7810 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 21:10:08 2017 +0200 cleanup commit b4cd46a9d2f390b40c5223c8d9971f576b979644 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:47:46 2017 +0200 fix commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:41:45 2017 +0200 allow gui test to fail commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:26:18 2017 +0200 add python3-tk to docker images commit 4d1b5aac1d028867339819599708a08f2098bbd6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:22:18 2017 -0700 windows fix commit 92b5f8a95491ba3508143d7f1b94359edc0655ce Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:08:08 2017 -0700 fix for windows commit 3f7bf51434ef3b637b3563930ddb61d04af645cb Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:28:13 2017 +0200 fixes, test for gui commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:06:55 2017 +0200 fixes commit 67645bb896012149c23c851b03287199c21fa129 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 17:24:58 2017 +0200 netgen config commit b587b77a282768719cffc366c56d82a1746e0be0 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 16:53:47 2017 +0200 remove comments commit 2b34cc78818afa1cf21484bd0976413a91db0851 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 05:03:00 2017 -0700 fix windows commit 9e98efa54065624e264eaf1acf74b44ef022a68d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 13:42:11 2017 +0200 fixes commit 394b470a07d73431079f80caa36c7c7042077f40 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 12:24:40 2017 +0200 fix rpath issue commit 6787eae384a8592f90598258ccd8207cd499d9fc Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:37:05 2017 +0200 some more fixes with install dir commit fcf22659c60300e8d39d12e14b21c58a062e739c Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 01:34:06 2017 -0700 some fixes commit ede1f0c462978bb70d3b4e2251cb555a592e82e3 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 10:16:34 2017 +0200 fixes commit b6a1259876a77f54e419a44f1b44d03d5bb49b82 Merge: c79f9a3 6627b0b Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Wed May 24 09:35:50 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54 Merge: 99c3550 030ad1d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 22 17:52:24 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 99c35500850e08fdc847013bb384169b1483acb4 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 19 14:37:28 2017 +0200 fix rpath commit 8215e9748d9ee225266bc941da1ca252aebd27de Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 13:29:41 2017 +0200 remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9 Merge: 57027c8 f72a247 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 12:03:59 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 57027c8c706ff755bdf26887884bbdeca129fe8f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:32:05 2017 +0200 New CMake option: USE_INTERNAL_TCL (ON by default) This option uses the tcl code compiled in onetcl.cpp instead of separate tcl files by default. When set at configure time, no tcl files will be installed anymore. commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:16:52 2017 +0200 WIP: Cleanup of CMake files - Fix RPATH on Linux (TODO: other platforms) - New variables to specify install behaviour: NG_INSTALL_DIR_BIN NG_INSTALL_DIR_LIB NG_INSTALL_DIR_CMAKE NG_INSTALL_DIR_INCLUDE
2017-05-30 00:19:34 +05:00
USE_INTERNAL_TCL
2017-02-16 19:01:16 +05:00
INSTALL_PROFILES
INTEL_MIC
Cleanup CMake build system - Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR - Allow finer control of install directories - Use compiled TCL code by default - Fix RPATH usage on Linux and MacOSX ### Allow finer control of install directories The following variables can be set to either absolute or relative paths NG_INSTALL_DIR_PYTHON: Python files NG_INSTALL_DIR_BIN: Executables NG_INSTALL_DIR_LIB: Libraries NG_INSTALL_DIR_INCLUDE: header files NG_INSTALL_DIR_CMAKE: CMake files NG_INSTALL_DIR_RES: Resources ### Use compiled TCL code by default The tcl files contained in Netgen are stored in onetcl.cpp as c-string. This way it's not necessary to install tcl files or set NETGENDIR ### Fix RPATH usage on Linux and MacOSX The Netgen installation should be completely relocatable now. Squashed commit of the following: commit 201eda5e62726bd87d76beb13c3e5643cd4c7810 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 21:10:08 2017 +0200 cleanup commit b4cd46a9d2f390b40c5223c8d9971f576b979644 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:47:46 2017 +0200 fix commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:41:45 2017 +0200 allow gui test to fail commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:26:18 2017 +0200 add python3-tk to docker images commit 4d1b5aac1d028867339819599708a08f2098bbd6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:22:18 2017 -0700 windows fix commit 92b5f8a95491ba3508143d7f1b94359edc0655ce Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:08:08 2017 -0700 fix for windows commit 3f7bf51434ef3b637b3563930ddb61d04af645cb Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:28:13 2017 +0200 fixes, test for gui commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:06:55 2017 +0200 fixes commit 67645bb896012149c23c851b03287199c21fa129 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 17:24:58 2017 +0200 netgen config commit b587b77a282768719cffc366c56d82a1746e0be0 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 16:53:47 2017 +0200 remove comments commit 2b34cc78818afa1cf21484bd0976413a91db0851 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 05:03:00 2017 -0700 fix windows commit 9e98efa54065624e264eaf1acf74b44ef022a68d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 13:42:11 2017 +0200 fixes commit 394b470a07d73431079f80caa36c7c7042077f40 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 12:24:40 2017 +0200 fix rpath issue commit 6787eae384a8592f90598258ccd8207cd499d9fc Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:37:05 2017 +0200 some more fixes with install dir commit fcf22659c60300e8d39d12e14b21c58a062e739c Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 01:34:06 2017 -0700 some fixes commit ede1f0c462978bb70d3b4e2251cb555a592e82e3 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 10:16:34 2017 +0200 fixes commit b6a1259876a77f54e419a44f1b44d03d5bb49b82 Merge: c79f9a3 6627b0b Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Wed May 24 09:35:50 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54 Merge: 99c3550 030ad1d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 22 17:52:24 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 99c35500850e08fdc847013bb384169b1483acb4 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 19 14:37:28 2017 +0200 fix rpath commit 8215e9748d9ee225266bc941da1ca252aebd27de Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 13:29:41 2017 +0200 remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9 Merge: 57027c8 f72a247 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 12:03:59 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 57027c8c706ff755bdf26887884bbdeca129fe8f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:32:05 2017 +0200 New CMake option: USE_INTERNAL_TCL (ON by default) This option uses the tcl code compiled in onetcl.cpp instead of separate tcl files by default. When set at configure time, no tcl files will be installed anymore. commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:16:52 2017 +0200 WIP: Cleanup of CMake files - Fix RPATH on Linux (TODO: other platforms) - New variables to specify install behaviour: NG_INSTALL_DIR_BIN NG_INSTALL_DIR_LIB NG_INSTALL_DIR_CMAKE NG_INSTALL_DIR_INCLUDE
2017-05-30 00:19:34 +05:00
CMAKE_INSTALL_PREFIX
ENABLE_UNIT_TESTS
ENABLE_CPP_CORE_GUIDELINES_CHECK
2018-12-28 17:43:15 +05:00
USE_SPDLOG
DEBUG_LOG
CHECK_RANGE
TRACE_MEMORY
BUILD_STUB_FILES
BUILD_FOR_CONDA
NG_COMPILE_FLAGS
2021-10-27 19:50:07 +05:00
OpenCascade_ROOT
ZLIB_INCLUDE_DIRS
ZLIB_LIBRARIES
2023-07-28 16:01:41 +05:00
ZLIB_ROOT
NGLIB_LIBRARY_TYPE
NGCORE_LIBRARY_TYPE
NGGUI_LIBRARY_TYPE
NG_INSTALL_DIR_PYTHON
NG_INSTALL_DIR_BIN
NG_INSTALL_DIR_LIB
NG_INSTALL_DIR_INCLUDE
NG_INSTALL_DIR_CMAKE
NG_INSTALL_DIR_RES
NG_INSTALL_SUFFIX
)
# propagate all variables set on the command line using cmake -DFOO=BAR
# to Netgen subproject
get_cmake_property(CACHE_VARS CACHE_VARIABLES)
foreach(CACHE_VAR ${CACHE_VARS})
get_property(CACHE_VAR_HELPSTRING CACHE ${CACHE_VAR} PROPERTY HELPSTRING)
if(CACHE_VAR_HELPSTRING STREQUAL "No help, variable specified on the command line." AND NOT CACHE_VAR STREQUAL "CMAKE_OSX_ARCHITECTURES")
get_property(CACHE_VAR_TYPE CACHE ${CACHE_VAR} PROPERTY TYPE)
2021-10-27 19:50:07 +05:00
string(REPLACE ";" "|" varvalue "${${CACHE_VAR}}" )
set(NETGEN_CMAKE_ARGS ${NETGEN_CMAKE_ARGS};-D${CACHE_VAR}:${CACHE_VAR_TYPE}=${varvalue} CACHE INTERNAL "")
endif()
endforeach()
if(${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
set(NETGEN_BUILD_COMMAND $(MAKE) --silent )
else()
set(NETGEN_BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/netgen --config ${CMAKE_BUILD_TYPE})
endif()
2021-10-27 19:50:07 +05:00
string(REPLACE ";" "|" NETGEN_CMAKE_PREFIX_PATH_ALT_SEP "${NETGEN_CMAKE_PREFIX_PATH}")
ExternalProject_Add (netgen
2021-10-27 19:50:07 +05:00
${SUBPROJECT_ARGS}
DEPENDS ${NETGEN_DEPENDENCIES}
SOURCE_DIR ${PROJECT_SOURCE_DIR}
2021-10-27 19:50:07 +05:00
CMAKE_ARGS
-DUSE_SUPERBUILD=OFF
${NETGEN_CMAKE_ARGS}
${SUBPROJECT_CMAKE_ARGS}
-DCMAKE_PREFIX_PATH=${NETGEN_CMAKE_PREFIX_PATH_ALT_SEP}
INSTALL_COMMAND ""
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/netgen
BUILD_COMMAND ${NETGEN_BUILD_COMMAND}
STEP_TARGETS build
)
# Check if the git submodules (i.e. pybind11) are up to date
# in case, something is wrong, emit a warning but continue
ExternalProject_Add_Step(netgen check_submodules
Cleanup CMake build system - Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR - Allow finer control of install directories - Use compiled TCL code by default - Fix RPATH usage on Linux and MacOSX ### Allow finer control of install directories The following variables can be set to either absolute or relative paths NG_INSTALL_DIR_PYTHON: Python files NG_INSTALL_DIR_BIN: Executables NG_INSTALL_DIR_LIB: Libraries NG_INSTALL_DIR_INCLUDE: header files NG_INSTALL_DIR_CMAKE: CMake files NG_INSTALL_DIR_RES: Resources ### Use compiled TCL code by default The tcl files contained in Netgen are stored in onetcl.cpp as c-string. This way it's not necessary to install tcl files or set NETGENDIR ### Fix RPATH usage on Linux and MacOSX The Netgen installation should be completely relocatable now. Squashed commit of the following: commit 201eda5e62726bd87d76beb13c3e5643cd4c7810 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 21:10:08 2017 +0200 cleanup commit b4cd46a9d2f390b40c5223c8d9971f576b979644 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:47:46 2017 +0200 fix commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:41:45 2017 +0200 allow gui test to fail commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:26:18 2017 +0200 add python3-tk to docker images commit 4d1b5aac1d028867339819599708a08f2098bbd6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:22:18 2017 -0700 windows fix commit 92b5f8a95491ba3508143d7f1b94359edc0655ce Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:08:08 2017 -0700 fix for windows commit 3f7bf51434ef3b637b3563930ddb61d04af645cb Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:28:13 2017 +0200 fixes, test for gui commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:06:55 2017 +0200 fixes commit 67645bb896012149c23c851b03287199c21fa129 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 17:24:58 2017 +0200 netgen config commit b587b77a282768719cffc366c56d82a1746e0be0 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 16:53:47 2017 +0200 remove comments commit 2b34cc78818afa1cf21484bd0976413a91db0851 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 05:03:00 2017 -0700 fix windows commit 9e98efa54065624e264eaf1acf74b44ef022a68d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 13:42:11 2017 +0200 fixes commit 394b470a07d73431079f80caa36c7c7042077f40 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 12:24:40 2017 +0200 fix rpath issue commit 6787eae384a8592f90598258ccd8207cd499d9fc Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:37:05 2017 +0200 some more fixes with install dir commit fcf22659c60300e8d39d12e14b21c58a062e739c Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 01:34:06 2017 -0700 some fixes commit ede1f0c462978bb70d3b4e2251cb555a592e82e3 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 10:16:34 2017 +0200 fixes commit b6a1259876a77f54e419a44f1b44d03d5bb49b82 Merge: c79f9a3 6627b0b Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Wed May 24 09:35:50 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54 Merge: 99c3550 030ad1d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 22 17:52:24 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 99c35500850e08fdc847013bb384169b1483acb4 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 19 14:37:28 2017 +0200 fix rpath commit 8215e9748d9ee225266bc941da1ca252aebd27de Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 13:29:41 2017 +0200 remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9 Merge: 57027c8 f72a247 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 12:03:59 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 57027c8c706ff755bdf26887884bbdeca129fe8f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:32:05 2017 +0200 New CMake option: USE_INTERNAL_TCL (ON by default) This option uses the tcl code compiled in onetcl.cpp instead of separate tcl files by default. When set at configure time, no tcl files will be installed anymore. commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:16:52 2017 +0200 WIP: Cleanup of CMake files - Fix RPATH on Linux (TODO: other platforms) - New variables to specify install behaviour: NG_INSTALL_DIR_BIN NG_INSTALL_DIR_LIB NG_INSTALL_DIR_CMAKE NG_INSTALL_DIR_INCLUDE
2017-05-30 00:19:34 +05:00
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_submodules.cmake
DEPENDERS install # Steps on which this step depends
)
# Due to 'ALWAYS 1', this step is always run which also forces a build of
# the Netgen subproject
ExternalProject_Add_Step(netgen check_submodules1
Cleanup CMake build system - Use CMAKE_INSTALL_PREFIX instead of INSTALL_DIR - Allow finer control of install directories - Use compiled TCL code by default - Fix RPATH usage on Linux and MacOSX ### Allow finer control of install directories The following variables can be set to either absolute or relative paths NG_INSTALL_DIR_PYTHON: Python files NG_INSTALL_DIR_BIN: Executables NG_INSTALL_DIR_LIB: Libraries NG_INSTALL_DIR_INCLUDE: header files NG_INSTALL_DIR_CMAKE: CMake files NG_INSTALL_DIR_RES: Resources ### Use compiled TCL code by default The tcl files contained in Netgen are stored in onetcl.cpp as c-string. This way it's not necessary to install tcl files or set NETGENDIR ### Fix RPATH usage on Linux and MacOSX The Netgen installation should be completely relocatable now. Squashed commit of the following: commit 201eda5e62726bd87d76beb13c3e5643cd4c7810 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 21:10:08 2017 +0200 cleanup commit b4cd46a9d2f390b40c5223c8d9971f576b979644 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:47:46 2017 +0200 fix commit 6506a834dbee2fd7b6df3b3f3709d0b27344356f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:41:45 2017 +0200 allow gui test to fail commit 56c5fc131f61259e6fb67b60f7fff955d2e8d2da Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 20:26:18 2017 +0200 add python3-tk to docker images commit 4d1b5aac1d028867339819599708a08f2098bbd6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:22:18 2017 -0700 windows fix commit 92b5f8a95491ba3508143d7f1b94359edc0655ce Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:08:08 2017 -0700 fix for windows commit 3f7bf51434ef3b637b3563930ddb61d04af645cb Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:28:13 2017 +0200 fixes, test for gui commit ef1d0164a50fadf374e3b1e43a745b5f69a16ad6 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 19:06:55 2017 +0200 fixes commit 67645bb896012149c23c851b03287199c21fa129 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 17:24:58 2017 +0200 netgen config commit b587b77a282768719cffc366c56d82a1746e0be0 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 16:53:47 2017 +0200 remove comments commit 2b34cc78818afa1cf21484bd0976413a91db0851 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 05:03:00 2017 -0700 fix windows commit 9e98efa54065624e264eaf1acf74b44ef022a68d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 13:42:11 2017 +0200 fixes commit 394b470a07d73431079f80caa36c7c7042077f40 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 12:24:40 2017 +0200 fix rpath issue commit 6787eae384a8592f90598258ccd8207cd499d9fc Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 11:37:05 2017 +0200 some more fixes with install dir commit fcf22659c60300e8d39d12e14b21c58a062e739c Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 01:34:06 2017 -0700 some fixes commit ede1f0c462978bb70d3b4e2251cb555a592e82e3 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 29 10:16:34 2017 +0200 fixes commit b6a1259876a77f54e419a44f1b44d03d5bb49b82 Merge: c79f9a3 6627b0b Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Wed May 24 09:35:50 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit c79f9a3421d4d2937c31dab4a601ce09d52b0e54 Merge: 99c3550 030ad1d Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Mon May 22 17:52:24 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 99c35500850e08fdc847013bb384169b1483acb4 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 19 14:37:28 2017 +0200 fix rpath commit 8215e9748d9ee225266bc941da1ca252aebd27de Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 13:29:41 2017 +0200 remove INSTALL_DIR, rename var to NETGEN_INSTALL_DIR_INCLUDE, install libngpy to python package folder commit 23d028c4cf7572de9e2e277cda8f6b07b6b1d9f9 Merge: 57027c8 f72a247 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Thu May 18 12:03:59 2017 +0200 Merge remote-tracking branch 'origin/master' into cmake_cleanup commit 57027c8c706ff755bdf26887884bbdeca129fe8f Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:32:05 2017 +0200 New CMake option: USE_INTERNAL_TCL (ON by default) This option uses the tcl code compiled in onetcl.cpp instead of separate tcl files by default. When set at configure time, no tcl files will be installed anymore. commit 27ce5b7edd66d64e2453f5045f5ac08c313f7608 Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at> Date: Fri May 12 17:16:52 2017 +0200 WIP: Cleanup of CMake files - Fix RPATH on Linux (TODO: other platforms) - New variables to specify install behaviour: NG_INSTALL_DIR_BIN NG_INSTALL_DIR_LIB NG_INSTALL_DIR_CMAKE NG_INSTALL_DIR_INCLUDE
2017-05-30 00:19:34 +05:00
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_submodules.cmake
DEPENDEES configure # Steps on which this step depends
DEPENDERS build # Steps that depend on this step
ALWAYS 1 # No stamp file, step always runs
)
install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" --build . --target install --config ${CMAKE_BUILD_TYPE} WORKING_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}/netgen\")")
add_custom_target(test_netgen
${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/netgen
--target test
--config ${CMAKE_BUILD_TYPE}
)