Mercurial > hg > orthanc
comparison Resources/ThirdParty/icu/CMakeLists.txt @ 3266:25df9eae8891
fixing Visual Studio 2015 64bit with ICU
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 Feb 2019 14:39:27 +0100 |
parents | 768c219e7b11 |
children | 905ee53c8274 |
comparison
equal
deleted
inserted
replaced
3265:59a184cbb596 | 3266:25df9eae8891 |
---|---|
56 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA} | 56 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA} |
57 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat | 57 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat |
58 DEPENDS IcuCodeGeneration | 58 DEPENDS IcuCodeGeneration |
59 ) | 59 ) |
60 | 60 |
61 add_custom_command( | |
62 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.S | |
63 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat --assembly masm | |
64 DEPENDS IcuCodeGeneration | |
65 ) | |
66 | |
67 # "--no-name" is necessary for 7-zip on Windows to behave similarly to gunzip | 61 # "--no-name" is necessary for 7-zip on Windows to behave similarly to gunzip |
68 add_custom_command( | 62 add_custom_command( |
69 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz | 63 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
70 COMMAND gzip ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.c --no-name -c > ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz | 64 COMMAND gzip ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.c --no-name -c > ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
71 DEPENDS ${LIBICU_DATA} | 65 DEPENDS ${LIBICU_DATA} |
72 ) | 66 ) |
73 | 67 |
74 add_custom_command( | 68 |
75 OUTPUT ${CMAKE_BINARY_DIR}/${LIBICU_MASM}.gz | 69 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
76 COMMAND gzip ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.S --no-name -c > ${CMAKE_BINARY_DIR}/${LIBICU_MASM}.gz | 70 # Generate a precompiled version for Visual Studio 64bit |
77 DEPENDS ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.S | 71 set(TMP_ASSEMBLER ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat.S) |
78 ) | 72 set(TMP_OBJECT ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.o) |
73 set(TMP_LIBRARY ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.a) | |
74 set(PRECOMPILED_WIN64 ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}_dat-x86_64-mingw32.a.gz) | |
75 | |
76 add_custom_command( | |
77 OUTPUT ${TMP_ASSEMBLER} | |
78 COMMAND IcuCodeGeneration ${CMAKE_BINARY_DIR}/${LIBICU_DATA_VERSION}.dat --assembly gcc-mingw64 | |
79 DEPENDS IcuCodeGeneration | |
80 ) | |
81 | |
82 add_custom_command( | |
83 OUTPUT ${TMP_OBJECT} | |
84 COMMAND x86_64-w64-mingw32-gcc -c ${TMP_ASSEMBLER} -o ${TMP_OBJECT} | |
85 DEPENDS ${TMP_ASSEMBLER} | |
86 ) | |
87 | |
88 add_custom_command( | |
89 OUTPUT ${TMP_LIBRARY} | |
90 COMMAND x86_64-w64-mingw32-ar qc ${TMP_LIBRARY} ${TMP_OBJECT} | |
91 COMMAND x86_64-w64-mingw32-ranlib ${TMP_LIBRARY} | |
92 DEPENDS ${TMP_OBJECT} | |
93 ) | |
94 | |
95 # "--no-name" is necessary for 7-zip on Windows to behave similarly to gunzip | |
96 add_custom_command( | |
97 OUTPUT ${PRECOMPILED_WIN64} | |
98 COMMAND gzip ${TMP_LIBRARY} --no-name -c > ${PRECOMPILED_WIN64} | |
99 DEPENDS ${TMP_LIBRARY} | |
100 ) | |
101 endif() | |
102 | |
79 | 103 |
80 add_custom_target(Final ALL DEPENDS | 104 add_custom_target(Final ALL DEPENDS |
81 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz | 105 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
82 ${CMAKE_BINARY_DIR}/${LIBICU_MASM}.gz | 106 ${PRECOMPILED_WIN64} |
83 ) | 107 ) |
84 | 108 |
85 install( | 109 install( |
86 FILES | 110 FILES |
87 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz | 111 ${CMAKE_BINARY_DIR}/${LIBICU_DATA}.gz |
88 ${CMAKE_BINARY_DIR}/${LIBICU_MASM}.gz | 112 ${PRECOMPILED_WIN64} |
89 DESTINATION ${CMAKE_SOURCE_DIR}/../../../ThirdPartyDownloads | 113 DESTINATION ${CMAKE_SOURCE_DIR}/../../../ThirdPartyDownloads |
90 ) | 114 ) |
91 | 115 |
92 add_definitions( | 116 add_definitions( |
93 #-DU_COMBINED_IMPLEMENTATION | 117 #-DU_COMBINED_IMPLEMENTATION |