annotate Resources/ThirdParty/icu/CMakeLists.txt @ 3241:32596919d729

first compilation combining ICU and LSB
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 16 Feb 2019 00:31:35 +0100
parents ed6dc4ecabcb
children 5d78df37c62f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3241
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
1 # Legacy version using LSB:
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
2 # LSB_CC=gcc-4.8 LSB_CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../../../LinuxStandardBaseToolchain.cmake -DUSE_LEGACY_LIBICU=ON -G Ninja && ninja
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
3
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
4 # Newest release of icu:
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
5 # cmake .. -DCMAKE_BUILD_TYPE=Debug -G Ninja && ninja
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
6
3237
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 cmake_minimum_required(VERSION 2.8)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 project(IcuCodeGeneration)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
3241
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
10 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
11
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
12 if (NOT USE_LEGACY_LIBICU)
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
13 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
14 endif()
3237
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 include(${CMAKE_SOURCE_DIR}/../../CMake/Compiler.cmake)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 include(${CMAKE_SOURCE_DIR}/../../CMake/DownloadPackage.cmake)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 include(Version.cmake)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 set(ALLOW_DOWNLOADS ON)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 DownloadPackage(${LIBICU_MD5} ${LIBICU_URL} "${LIBICU_SOURCES_DIR}")
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 include_directories(
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 ${LIBICU_SOURCES_DIR}/source/common
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 ${LIBICU_SOURCES_DIR}/source/i18n
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 ${LIBICU_SOURCES_DIR}/source/tools/toolutil/
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 )
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 aux_source_directory(${LIBICU_SOURCES_DIR}/source/common LIBICU_SOURCES)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 aux_source_directory(${LIBICU_SOURCES_DIR}/source/i18n LIBICU_SOURCES)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 aux_source_directory(${LIBICU_SOURCES_DIR}/source/tools/toolutil LIBICU_SOURCES)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32
3241
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
33 if (USE_LEGACY_LIBICU)
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
34 list(APPEND LIBICU_SOURCES
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
35 ${LIBICU_SOURCES_DIR}/source/stubdata/stubdata.c
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
36 )
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
37 else()
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
38 list(APPEND LIBICU_SOURCES
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
39 ${LIBICU_SOURCES_DIR}/source/stubdata/stubdata.cpp
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
40 )
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
41 set_source_files_properties(
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
42 ${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
43 PROPERTIES COMPILE_DEFINITIONS "char16_t=uint16_t"
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
44 )
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
45 endif()
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
46
32596919d729 first compilation combining ICU and LSB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3237
diff changeset
47
3237
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 add_executable(IcuCodeGeneration
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 ${LIBICU_SOURCES_DIR}/source/tools/genccode/genccode.c
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 ${LIBICU_SOURCES}
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 )
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 add_custom_command(
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 OUTPUT ${LIBICU_DATA}
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 COMMAND IcuCodeGeneration ${LIBICU_SOURCE_DATA}
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 DEPENDS IcuCodeGeneration
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 )
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 add_custom_command(
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 OUTPUT ${LIBICU_DATA}.gz
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 COMMAND gzip -f ${LIBICU_DATA}
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 DEPENDS ${LIBICU_DATA}
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 )
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 add_custom_target(Final ALL DEPENDS ${LIBICU_DATA}.gz)
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 install(
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 FILES ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 DESTINATION ${CMAKE_SOURCE_DIR}/../../../ThirdPartyDownloads
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 )
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 add_definitions(
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 #-DU_COMBINED_IMPLEMENTATION
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 -DUCONFIG_NO_SERVICE=1
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 -DU_COMMON_IMPLEMENTATION
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 -DU_ENABLE_DYLOAD=0
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 -DU_HAVE_STD_STRING=1
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 -DU_I18N_IMPLEMENTATION
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 -DU_IO_IMPLEMENTATION
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 -DU_STATIC_IMPLEMENTATION=1
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 -DU_TOOLUTIL_IMPLEMENTATION
ed6dc4ecabcb continuing with icu
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 )