annotate Resources/CMake/LibVtkConfiguration.cmake @ 17:961d7f13759e

trying to replace <CONFIG> by ${CMAKE_BUILD_TYPE} for macOS
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 12 Sep 2023 07:11:50 +0200
parents 609ba59d1c54
children 78db385dddf1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 # SPDX-FileCopyrightText: 2023 Sebastien Jodogne, UCLouvain, Belgium
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 # SPDX-License-Identifier: GPL-3.0-or-later
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 # STL plugin for Orthanc
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 # Copyright (C) 2023 Sebastien Jodogne, UCLouvain, Belgium
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 #
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 # This program is free software: you can redistribute it and/or
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 # modify it under the terms of the GNU General Public License as
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 # published by the Free Software Foundation, either version 3 of the
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 # License, or (at your option) any later version.
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 #
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # This program is distributed in the hope that it will be useful, but
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 # General Public License for more details.
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 #
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 # You should have received a copy of the GNU General Public License
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 if (NOT STATIC_BUILD AND USE_SYSTEM_VTK)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 find_package(VTK REQUIRED COMPONENTS
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 vtkCommonDataModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 vtkFiltersCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 vtkImagingCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 include_directories(${VTK_INCLUDE_DIRS})
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 # Add a void target
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 add_custom_target(VTK)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 else()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 set(VTK_MAJOR 7)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 set(VTK_MINOR 1)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 set(VTK_REVISION 1)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 set(VTK_MD5 "daee43460f4e95547f0635240ffbc9cb")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 set(VTK_SOURCES_DIR "${CMAKE_BINARY_DIR}/VTK-${VTK_MAJOR}.${VTK_MINOR}.${VTK_REVISION}")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 DownloadPackage(
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 "${VTK_MD5}"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 "https://orthanc.uclouvain.be/third-party-downloads/VTK-${VTK_MAJOR}.${VTK_MINOR}.${VTK_REVISION}.tar.gz"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 "${VTK_SOURCES_DIR}")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 if (CMAKE_TOOLCHAIN_FILE)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 # Take absolute path to the toolchain
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 get_filename_component(TMP ${CMAKE_TOOLCHAIN_FILE} REALPATH BASE ${CMAKE_SOURCE_DIR}/..)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 list(APPEND VTKCMakeFlags
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 -DCMAKE_TOOLCHAIN_FILE=${TMP}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 -DLSB_CC=${LSB_CC}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 -DLSB_CXX=${LSB_CXX}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 endif()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 cmake_host_system_information(RESULT NumberOfPhysicalCores QUERY NUMBER_OF_PHYSICAL_CORES)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 include(ExternalProject)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 if (CMAKE_CROSSCOMPILING)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 # First, generate the "VTKCompileToolsConfig.cmake" file on the host
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 # computer. This is necessary before cross-compiling. Explanations:
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 # https://cmake.org/cmake/help/book/mastering-cmake/chapter/Cross%20Compiling%20With%20CMake.html#cross-compiling-a-complex-project-vtk
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 externalproject_add(VTKCompileTools
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 SOURCE_DIR "${VTK_SOURCES_DIR}"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 CMAKE_ARGS
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 -DCMAKE_CXX_COMPILER=g++
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 -DCMAKE_C_COMPILER=gcc
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 BUILD_COMMAND
17
961d7f13759e trying to replace <CONFIG> by ${CMAKE_BUILD_TYPE} for macOS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
74 ${CMAKE_COMMAND} --build <BINARY_DIR> --config ${CMAKE_BUILD_TYPE} --parallel ${NumberOfPhysicalCores} -t
1
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 VTKCompileToolsConfig.cmake
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 INSTALL_COMMAND "" # Skip the install step
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 ExternalProject_Get_Property(VTKCompileTools binary_dir)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 list(APPEND VTKCMakeFlags
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 -DVTKCompileTools_DIR=${binary_dir}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 list(APPEND VTKCMakeFlags
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 -DCMAKE_REQUIRE_LARGE_FILE_SUPPORT=ON
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 -DCMAKE_REQUIRE_LARGE_FILE_SUPPORT__TRYRUN_OUTPUT=""
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 -DKWSYS_LFS_WORKS=ON
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 -DKWSYS_LFS_WORKS__TRYRUN_OUTPUT=""
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 -DFILE_OFFSET_BITS=64
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91
14
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
92 # This disables HDF5, which is not used in Orthanc
13
ed7047aa4d3b trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1
diff changeset
93 -DVTK_USE_SYSTEM_HDF5=OFF
14
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
94
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
95 # Some raw guesses to make CMake happy, could be incorrect!
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
96 -DHAVE_IOEO_EXITCODE=0
15
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
97 -DH5_FP_TO_INTEGER_OVERFLOW_WORKS_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
98 -DH5_FP_TO_INTEGER_OVERFLOW_WORKS_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
99 -DH5_FP_TO_ULLONG_ACCURATE_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
100 -DH5_FP_TO_ULLONG_ACCURATE_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
101 -DH5_FP_TO_ULLONG_RIGHT_MAXIMUM_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
102 -DH5_FP_TO_ULLONG_RIGHT_MAXIMUM_RUN__TRYRUN_OUTPUT=
14
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
103 -DH5_LDOUBLE_TO_INTEGER_WORKS_RUN=0
15
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
104 -DH5_LDOUBLE_TO_INTEGER_WORKS_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
105 -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
106 -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT=
14
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
107 -DH5_LDOUBLE_TO_UINT_ACCURATE_RUN=0
15
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
108 -DH5_LDOUBLE_TO_UINT_ACCURATE_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
109 -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
110 -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
111 -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
112 -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT=
16
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
113 -DH5_PRINTF_LL_WIDTH="unknown"
14
33c02468dc7d trying to fix HDF5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 13
diff changeset
114 -DH5_ULLONG_TO_LDOUBLE_PRECISION_RUN=0
16
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
115 -DH5_ULLONG_TO_LDOUBLE_PRECISION_RUN=0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
116 -DH5_ULLONG_TO_LDOUBLE_PRECISION_RUN__TRYRUN_OUTPUT=
15
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
117 -DH5_ULONG_TO_FLOAT_ACCURATE_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
118 -DH5_ULONG_TO_FLOAT_ACCURATE_RUN__TRYRUN_OUTPUT=
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
119 -DHDF5_PRINTF_LL_TEST_RUN=0
0c324112d4cc yet another try
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 14
diff changeset
120 -DHDF5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT=
1
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 else()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 add_custom_target(VTKCompileTools) # Empty target
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 endif()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 if (CMAKE_COMPILER_IS_GNUCXX OR
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 # The following flag is necessary to statically link VTK within
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 # the shared library containing the plugin
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 set(Flags "-fPIC")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 else()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 set(Flags "")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 endif()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 externalproject_add(VTK
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 SOURCE_DIR "${VTK_SOURCES_DIR}"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 CMAKE_ARGS
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 ${VTKCMakeFlags}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141 -DBUILD_SHARED_LIBS=OFF
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 -DVTK_Group_Rendering=OFF
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${Flags}"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ${Flags}"
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 BUILD_COMMAND
17
961d7f13759e trying to replace <CONFIG> by ${CMAKE_BUILD_TYPE} for macOS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
152 ${CMAKE_COMMAND} --build <BINARY_DIR> --config ${CMAKE_BUILD_TYPE} --parallel ${NumberOfPhysicalCores} -t
1
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153 vtkCommonCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 vtkCommonDataModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 vtkCommonMath
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 vtkCommonMisc
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 vtkCommonSystem
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 vtkCommonTransforms
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 vtkFiltersCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 vtkFiltersPoints
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 vtkImagingCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 EXCLUDE_FROM_ALL TRUE
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 INSTALL_COMMAND "" # Skip the install step
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 DEPENDS VTKCompileTools
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170 if(MSVC)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 set(Suffix ".lib")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 set(Prefix "")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 else()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 set(Suffix ".a")
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 list(GET CMAKE_FIND_LIBRARY_PREFIXES 0 Prefix)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 endif()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 foreach(module IN ITEMS
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179 # WARNING: The order of the modules below *is* important!
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 ImagingCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 FiltersCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 CommonExecutionModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 CommonDataModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 CommonTransforms
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 CommonMath
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 CommonMisc
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 CommonSystem
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 CommonCore
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 sys
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 list(APPEND VTK_LIBRARIES
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 ${Prefix}vtk${module}-${VTK_MAJOR}.${VTK_MINOR}${Suffix}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194 endforeach()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 ExternalProject_Get_Property(VTK binary_dir)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 ExternalProject_Get_Property(VTK source_dir)
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198
17
961d7f13759e trying to replace <CONFIG> by ${CMAKE_BUILD_TYPE} for macOS
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
199 link_directories(${binary_dir}/lib)
1
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201 foreach(dir IN ITEMS
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202 Common/Core
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
203 Common/DataModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
204 Common/ExecutionModel
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 Common/Misc
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 Filters/Core
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 IO/Image
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 Imaging/Core
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209 Utilities/KWIML
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 include_directories(
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 ${source_dir}/${dir}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 ${binary_dir}/${dir}
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 )
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 endforeach()
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216
0f03a8a0bd6f encoding of RT-STRUCT as STL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 endif()