@@ -186,20 +186,31 @@ if(builtin_freetype)
186
186
message (STATUS "Building freetype version ${freetype_version} included in ROOT itself" )
187
187
set (FREETYPE_LIBRARY ${CMAKE_BINARY_DIR} /FREETYPE-prefix/src/FREETYPE/objs/.libs/${CMAKE_STATIC_LIBRARY_PREFIX}freetype${CMAKE_STATIC_LIBRARY_SUFFIX} )
188
188
if (WIN32 )
189
- set (freetypebuild "Release" )
190
- set (freetypelib freetype.lib )
191
- if (winrtdebug )
192
- set (freetypebuild "Debug" )
193
- set (freetypelib freetyped.lib )
189
+ set (FREETYPE_LIB_DIR "." )
190
+ if (CMAKE_GENERATOR MATCHES Ninja )
191
+ set (freetypelib freetype.lib )
192
+ if (CMAKE_BUILD_TYPE MATCHES Debug )
193
+ set (freetypelib freetyped.lib )
194
+ endif ()
195
+ else ()
196
+ set (freetypebuild Release )
197
+ set (freetypelib freetype.lib )
198
+ if (winrtdebug )
199
+ set (freetypebuild Debug )
200
+ set (freetypelib freetyped.lib )
201
+ endif ()
202
+ set (FREETYPE_LIB_DIR "${freetypebuild} " )
203
+ set (FREETYPE_EXTRA_BUILD_ARGS --config ${freetypebuild} )
194
204
endif ()
195
205
ExternalProject_Add (
196
206
FREETYPE
197
207
URL ${CMAKE_SOURCE_DIR} /graf2d/freetype/src/freetype-${freetype_version}.tar.gz
198
208
URL_HASH SHA256=efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938
199
209
INSTALL_DIR ${CMAKE_BINARY_DIR}
200
- CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DFT_DISABLE_BZIP2=TRUE
201
- BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${freetypebuild}
202
- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${freetypebuild} /${freetypelib} ${FREETYPE_LIBRARY}
210
+ CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
211
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DFT_DISABLE_BZIP2=TRUE
212
+ BUILD_COMMAND ${CMAKE_COMMAND} --build . ${FREETYPE_EXTRA_BUILD_ARGS}
213
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FREETYPE_LIB_DIR} /${freetypelib} ${FREETYPE_LIBRARY}
203
214
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0
204
215
BUILD_BYPRODUCTS ${FREETYPE_LIBRARY}
205
216
TIMEOUT 600
@@ -299,6 +310,7 @@ if(builtin_lzma)
299
310
BUILD_COMMAND ""
300
311
INSTALL_COMMAND ""
301
312
LOG_DOWNLOAD 1
313
+ BUILD_BYPRODUCTS ${LIBLZMA_LIBRARIES}
302
314
TIMEOUT 600
303
315
)
304
316
set (LIBLZMA_INCLUDE_DIR ${CMAKE_BINARY_DIR} /LZMA/src/LZMA/include )
@@ -453,18 +465,24 @@ if(asimage)
453
465
#---AfterImage---------------------------------------------------------------
454
466
set (AFTERIMAGE_LIBRARIES ${CMAKE_BINARY_DIR} /lib/libAfterImage${CMAKE_STATIC_LIBRARY_SUFFIX} )
455
467
if (WIN32 )
456
- if (winrtdebug )
457
- set (astepbld "Debug" )
458
- else ()
459
- set (astepbld "Release" )
468
+ set (ASTEP_LIB_DIR "." )
469
+ if (NOT CMAKE_GENERATOR MATCHES Ninja )
470
+ if (winrtdebug )
471
+ set (astepbld Debug )
472
+ else ()
473
+ set (astepbld Release )
474
+ endif ()
475
+ set (ASTEP_LIB_DIR "${astepbld} " )
476
+ set (ASTEP_EXTRA_BUILD_ARGS --config ${astepbld} )
460
477
endif ()
461
478
ExternalProject_Add (
462
479
AFTERIMAGE
463
480
DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR} /graf2d/asimage/src/libAfterImage AFTERIMAGE
464
481
INSTALL_DIR ${CMAKE_BINARY_DIR}
465
- CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_VERBOSE_MAKEFILE=ON -DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
466
- BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${astepbld}
467
- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${astepbld} /libAfterImage.lib <INSTALL_DIR>/lib/
482
+ CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
483
+ -DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
484
+ BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ASTEP_EXTRA_BUILD_ARGS}
485
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ASTEP_LIB_DIR} /libAfterImage.lib <INSTALL_DIR>/lib/
468
486
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0
469
487
BUILD_BYPRODUCTS ${AFTERIMAGE_LIBRARIES}
470
488
TIMEOUT 600
@@ -1239,12 +1257,19 @@ if(builtin_tbb)
1239
1257
set (tbb_sha256 1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e )
1240
1258
1241
1259
if (MSVC )
1242
- set (tbb_build Release )
1243
- if (winrtdebug )
1244
- set (tbb_build Debug )
1245
- set (tbbsuffix "_debug" )
1260
+ if (CMAKE_GENERATOR MATCHES Ninja )
1261
+ if (CMAKE_BUILD_TYPE MATCHES Debug )
1262
+ set (tbbsuffix "_debug" )
1263
+ endif ()
1264
+ else ()
1265
+ set (tbb_build Release )
1266
+ if (winrtdebug )
1267
+ set (tbb_build Debug )
1268
+ set (tbbsuffix "_debug" )
1269
+ endif ()
1246
1270
endif ()
1247
1271
set (TBB_LIBRARIES ${CMAKE_BINARY_DIR} /lib/tbb12${tbbsuffix}.lib )
1272
+ set (TBB_CXXFLAGS "-D__TBB_NO_IMPLICIT_LINKAGE=1" )
1248
1273
install (DIRECTORY ${CMAKE_BINARY_DIR} /bin/ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries FILES_MATCHING PATTERN "tbb*.dll" )
1249
1274
install (DIRECTORY ${CMAKE_BINARY_DIR} /lib/ DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries FILES_MATCHING PATTERN "tbb*.lib" )
1250
1275
else ()
@@ -1822,9 +1847,21 @@ if (builtin_gtest)
1822
1847
1823
1848
set (GTEST_CXX_FLAGS "${ROOT_EXTERNAL_CXX_FLAGS} " )
1824
1849
if (MSVC )
1825
- set (gtestbuild "Release" )
1826
- if (winrtdebug )
1827
- set (gtestbuild "Debug" )
1850
+ if (winrtdebug )
1851
+ set (GTEST_BUILD_TYPE Debug )
1852
+ else ()
1853
+ set (GTEST_BUILD_TYPE Release )
1854
+ endif ()
1855
+ set (_gtest_byproducts
1856
+ ${_gtest_byproduct_binary_dir} /lib/gtest.lib
1857
+ ${_gtest_byproduct_binary_dir} /lib/gtest_main.lib
1858
+ ${_gtest_byproduct_binary_dir} /lib/gmock.lib
1859
+ ${_gtest_byproduct_binary_dir} /lib/gmock_main.lib
1860
+ )
1861
+ if (CMAKE_GENERATOR MATCHES Ninja )
1862
+ set (GTEST_BUILD_COMMAND "BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR>" )
1863
+ else ()
1864
+ set (GTEST_BUILD_COMMAND "BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config ${GTEST_BUILD_TYPE} " )
1828
1865
endif ()
1829
1866
if (asan )
1830
1867
if (NOT winrtdebug )
@@ -1838,7 +1875,9 @@ if (builtin_gtest)
1838
1875
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${_gtest_byproduct_binary_dir}/lib/
1839
1876
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=${_gtest_byproduct_binary_dir}/lib/
1840
1877
-Dgtest_force_shared_crt=ON
1841
- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config ${gtestbuild} )
1878
+ ${GTEST_BUILD_COMMAND} )
1879
+ else ()
1880
+ set (GTEST_BUILD_TYPE Release )
1842
1881
endif ()
1843
1882
if (APPLE )
1844
1883
set (EXTRA_GTEST_OPTS
@@ -1857,7 +1896,7 @@ if (builtin_gtest)
1857
1896
# -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=ReleaseLibs
1858
1897
# -Dgtest_force_shared_crt=ON
1859
1898
CMAKE_ARGS -G ${CMAKE_GENERATOR}
1860
- -DCMAKE_BUILD_TYPE=Release
1899
+ -DCMAKE_BUILD_TYPE=${GTEST_BUILD_TYPE}
1861
1900
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
1862
1901
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
1863
1902
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
0 commit comments