Mercurial > hg > orthanc
annotate OrthancFramework/Resources/ThirdParty/icu/CMakeLists.txt @ 5830:40f236ad829c find-refactoring
SQLite 3.46 + push NULL values at the end of the order by clauses
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Tue, 08 Oct 2024 17:05:18 +0200 |
parents | f7adfb22e20e |
children |
rev | line source |
---|---|
4120
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
1 # Orthanc - A Lightweight, RESTful DICOM Store |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
3 # Department, University Hospital of Liege, Belgium |
5640
f7adfb22e20e
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5485
diff
changeset
|
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium |
f7adfb22e20e
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5485
diff
changeset
|
5 # Copyright (C) 2024-2024 Orthanc Team SRL, Belgium |
5485
48b8dae6dc77
upgrade to year 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5185
diff
changeset
|
6 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
4120
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
7 # |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
8 # This program is free software: you can redistribute it and/or |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
9 # modify it under the terms of the GNU Lesser General Public License |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
10 # as published by the Free Software Foundation, either version 3 of |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
11 # the License, or (at your option) any later version. |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
12 # |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
13 # This program is distributed in the hope that it will be useful, but |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
14 # WITHOUT ANY WARRANTY; without even the implied warranty of |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
16 # Lesser General Public License for more details. |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
17 # |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
18 # You should have received a copy of the GNU Lesser General Public |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
19 # License along with this program. If not, see |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
20 # <http://www.gnu.org/licenses/>. |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
21 |
304842a0d152
adding missing license headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
4044
diff
changeset
|
22 |
3237 | 23 cmake_minimum_required(VERSION 2.8) |
24 project(IcuCodeGeneration) | |
25 | |
3241
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
26 set(USE_LEGACY_LIBICU OFF CACHE BOOL "Use icu icu4c-58_2, latest version not requiring a C++11 compiler (for LSB and old versions of Visual Studio)") |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
27 |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
28 if (NOT USE_LEGACY_LIBICU) |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
29 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
30 endif() |
3237 | 31 |
32 include(${CMAKE_SOURCE_DIR}/../../CMake/Compiler.cmake) | |
33 include(${CMAKE_SOURCE_DIR}/../../CMake/DownloadPackage.cmake) | |
34 include(Version.cmake) | |
35 | |
3242
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
36 set(SOURCE_DATA |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
37 "${LIBICU_SOURCES_DIR}/source/data/in/${LIBICU_DATA_VERSION}${LIBICU_SUFFIX}.dat") |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
38 |
3237 | 39 set(ALLOW_DOWNLOADS ON) |
40 DownloadPackage(${LIBICU_MD5} ${LIBICU_URL} "${LIBICU_SOURCES_DIR}") | |
41 | |
42 include_directories( | |
43 ${LIBICU_SOURCES_DIR}/source/common | |
44 ${LIBICU_SOURCES_DIR}/source/i18n | |
45 ${LIBICU_SOURCES_DIR}/source/tools/toolutil/ | |
46 ) | |
47 | |
48 aux_source_directory(${LIBICU_SOURCES_DIR}/source/common LIBICU_SOURCES) | |
49 aux_source_directory(${LIBICU_SOURCES_DIR}/source/i18n LIBICU_SOURCES) | |
50 aux_source_directory(${LIBICU_SOURCES_DIR}/source/tools/toolutil LIBICU_SOURCES) | |
51 | |
3241
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
52 if (USE_LEGACY_LIBICU) |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
53 list(APPEND LIBICU_SOURCES |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
54 ${LIBICU_SOURCES_DIR}/source/stubdata/stubdata.c |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
55 ) |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
56 else() |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
57 list(APPEND LIBICU_SOURCES |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
58 ${LIBICU_SOURCES_DIR}/source/stubdata/stubdata.cpp |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
59 ) |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
60 set_source_files_properties( |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
61 ${LIBICU_SOURCES_DIR}/source/tools/genccode/genccode.c |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
62 PROPERTIES COMPILE_DEFINITIONS "char16_t=uint16_t" |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
63 ) |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
64 endif() |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
65 |
32596919d729
first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3237
diff
changeset
|
66 |
3237 | 67 |
68 add_executable(IcuCodeGeneration | |
69 ${LIBICU_SOURCES_DIR}/source/tools/genccode/genccode.c | |
70 ${LIBICU_SOURCES} | |
71 ) | |
72 | |
3242
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
73 configure_file(${SOURCE_DATA} |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
74 ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
75 COPYONLY) |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
76 |
3237 | 77 add_custom_command( |
3242
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
78 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA} |
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
79 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat |
3237 | 80 DEPENDS IcuCodeGeneration |
81 ) | |
82 | |
3243
cf0ad1fb2bb7
trying a fix for windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3242
diff
changeset
|
83 # "--no-name" is necessary for 7-zip on Windows to behave similarly to gunzip |
3237 | 84 add_custom_command( |
3242
5d78df37c62f
automating compilation if icu is used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3241
diff
changeset
|
85 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
3243
cf0ad1fb2bb7
trying a fix for windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3242
diff
changeset
|
86 COMMAND gzip ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.c --no-name -c > ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
3237 | 87 DEPENDS ${LIBICU_DATA} |
88 ) | |
89 | |
3266
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
90 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
91 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
92 # Generate a precompiled version for Visual Studio 64bit |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
93 set(TMP_ASSEMBLER ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.S) |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
94 set(TMP_OBJECT ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.o) |
3269 | 95 set(TMP_LIBRARY ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.lib) |
96 set(PRECOMPILED_WIN64 ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.lib.gz) | |
3266
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
97 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
98 add_custom_command( |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
99 OUTPUT ${TMP_ASSEMBLER} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
100 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat --assembly gcc-mingw64 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
101 DEPENDS IcuCodeGeneration |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
102 ) |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
103 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
104 add_custom_command( |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
105 OUTPUT ${TMP_OBJECT} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
106 COMMAND x86_64-w64-mingw32-gcc -c ${TMP_ASSEMBLER} -o ${TMP_OBJECT} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
107 DEPENDS ${TMP_ASSEMBLER} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
108 ) |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
109 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
110 add_custom_command( |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
111 OUTPUT ${TMP_LIBRARY} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
112 COMMAND x86_64-w64-mingw32-ar qc ${TMP_LIBRARY} ${TMP_OBJECT} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
113 COMMAND x86_64-w64-mingw32-ranlib ${TMP_LIBRARY} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
114 DEPENDS ${TMP_OBJECT} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
115 ) |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
116 |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
117 # "--no-name" is necessary for 7-zip on Windows to behave similarly to gunzip |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
118 add_custom_command( |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
119 OUTPUT ${PRECOMPILED_WIN64} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
120 COMMAND gzip ${TMP_LIBRARY} --no-name -c > ${PRECOMPILED_WIN64} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
121 DEPENDS ${TMP_LIBRARY} |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
122 ) |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
123 endif() |
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
124 |
3251
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
125 |
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
126 add_custom_target(Final ALL DEPENDS |
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
127 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
3266
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
128 ${PRECOMPILED_WIN64} |
3251
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
129 ) |
3237 | 130 |
131 install( | |
3251
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
132 FILES |
fcfd4f73228c
using masm if compiling icu with Visual Studio
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3243
diff
changeset
|
133 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
3266
25df9eae8891
fixing Visual Studio 2015 64bit with ICU
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3252
diff
changeset
|
134 ${PRECOMPILED_WIN64} |
3237 | 135 DESTINATION ${CMAKE_SOURCE_DIR}/../../../ThirdPartyDownloads |
136 ) | |
137 | |
138 add_definitions( | |
139 #-DU_COMBINED_IMPLEMENTATION | |
140 -DUCONFIG_NO_SERVICE=1 | |
141 -DU_COMMON_IMPLEMENTATION | |
142 -DU_ENABLE_DYLOAD=0 | |
143 -DU_HAVE_STD_STRING=1 | |
144 -DU_I18N_IMPLEMENTATION | |
145 -DU_IO_IMPLEMENTATION | |
146 -DU_STATIC_IMPLEMENTATION=1 | |
147 -DU_TOOLUTIL_IMPLEMENTATION | |
148 ) |