diff --git a/CMakeLists.txt b/CMakeLists.txt index b5f231e129968..58f643808eb98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -704,7 +704,7 @@ Install path: ${CMAKE_INSTALL_PREFIX} Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} C++ standard: ${CMAKE_CXX_STANDARD} Compiler flags:") -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) message(STATUS " - C: ${CMAKE_C_FLAGS} - C (build type specific): diff --git a/builtins/cfitsio/CMakeLists.txt b/builtins/cfitsio/CMakeLists.txt index c2304b03f8425..d1ba42abf1f3f 100644 --- a/builtins/cfitsio/CMakeLists.txt +++ b/builtins/cfitsio/CMakeLists.txt @@ -13,7 +13,7 @@ if(NOT WIN32) set(CFITSIO_C_FLAGS -fPIC) endif() -if(WIN32) +if(WIN32 AND NOT CMAKE_GENERATOR MATCHES Ninja) if(winrtdebug) set(CFITSIO_BUILD_COMMAND_FLAGS "--config Debug") else() diff --git a/builtins/pcre/CMakeLists.txt b/builtins/pcre/CMakeLists.txt index 6a6351e406e84..6bd7996d4f2ab 100644 --- a/builtins/pcre/CMakeLists.txt +++ b/builtins/pcre/CMakeLists.txt @@ -13,13 +13,19 @@ foreach(var PCRE_FOUND PCRE_VERSION PCRE_INCLUDE_DIR PCRE_PCRE_LIBRARY PCRE_LIBR endforeach() if(WIN32) - if(winrtdebug) - set(PCRE_POSTFIX $<$:d>) - set(pcre_config_kind "Debug") + if(CMAKE_GENERATOR MATCHES Ninja) + if (CMAKE_BUILD_TYPE MATCHES Debug) + set(PCRE_POSTFIX d) + endif() else() - set(pcre_config_kind "Release") + if(winrtdebug) + set(PCRE_POSTFIX $<$:d>) + set(pcre_config_kind "Debug") + else() + set(pcre_config_kind "Release") + endif() + set(pcre_config "--config ${pcre_config_kind}") endif() - set(pcre_config "--config") endif() set(PCRE_VERSION "8.43" CACHE INTERNAL "" FORCE) @@ -52,7 +58,7 @@ ExternalProject_Add(PCRE -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=TRUE BUILD_COMMAND - ${CMAKE_COMMAND} --build ${pcre_config} ${pcre_config_kind} --target pcre + ${CMAKE_COMMAND} --build ${pcre_config} --target pcre BUILD_BYPRODUCTS ${PCRE_BYPRODUCTS} diff --git a/cmake/modules/RootMacros.cmake b/cmake/modules/RootMacros.cmake index 13f1296bd860c..1bae79ec38220 100644 --- a/cmake/modules/RootMacros.cmake +++ b/cmake/modules/RootMacros.cmake @@ -1848,7 +1848,7 @@ function(ROOT_ADD_GTEST test_suite) endif(ARG_INCLUDE_DIRS) if(MSVC) - set(test_exports "/EXPORT:_Init_thread_abort /EXPORT:_Init_thread_epoch + set(test_exports "/EXPORT:_Init_thread_abort /EXPORT:_Init_thread_epoch \ /EXPORT:_Init_thread_footer /EXPORT:_Init_thread_header /EXPORT:_tls_index") set_property(TARGET ${test_suite} APPEND_STRING PROPERTY LINK_FLAGS ${test_exports}) endif() diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake index b421ea2bc8dec..83ee6a0361509 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -186,20 +186,31 @@ if(builtin_freetype) message(STATUS "Building freetype version ${freetype_version} included in ROOT itself") set(FREETYPE_LIBRARY ${CMAKE_BINARY_DIR}/FREETYPE-prefix/src/FREETYPE/objs/.libs/${CMAKE_STATIC_LIBRARY_PREFIX}freetype${CMAKE_STATIC_LIBRARY_SUFFIX}) if(WIN32) - set(freetypebuild "Release") - set(freetypelib freetype.lib) - if(winrtdebug) - set(freetypebuild "Debug") - set(freetypelib freetyped.lib) + set(FREETYPE_LIB_DIR ".") + if(CMAKE_GENERATOR MATCHES Ninja) + set(freetypelib freetype.lib) + if (CMAKE_BUILD_TYPE MATCHES Debug) + set(freetypelib freetyped.lib) + endif() + else() + set(freetypebuild Release) + set(freetypelib freetype.lib) + if(winrtdebug) + set(freetypebuild Debug) + set(freetypelib freetyped.lib) + endif() + set(FREETYPE_LIB_DIR "${freetypebuild}") + set(FREETYPE_EXTRA_BUILD_ARGS --config ${freetypebuild}) endif() ExternalProject_Add( FREETYPE URL ${CMAKE_SOURCE_DIR}/graf2d/freetype/src/freetype-${freetype_version}.tar.gz URL_HASH SHA256=efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938 INSTALL_DIR ${CMAKE_BINARY_DIR} - CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DFT_DISABLE_BZIP2=TRUE - BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${freetypebuild} - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${freetypebuild}/${freetypelib} ${FREETYPE_LIBRARY} + CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DFT_DISABLE_BZIP2=TRUE + BUILD_COMMAND ${CMAKE_COMMAND} --build . ${FREETYPE_EXTRA_BUILD_ARGS} + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FREETYPE_LIB_DIR}/${freetypelib} ${FREETYPE_LIBRARY} LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0 BUILD_BYPRODUCTS ${FREETYPE_LIBRARY} TIMEOUT 600 @@ -299,6 +310,7 @@ if(builtin_lzma) BUILD_COMMAND "" INSTALL_COMMAND "" LOG_DOWNLOAD 1 + BUILD_BYPRODUCTS ${LIBLZMA_LIBRARIES} TIMEOUT 600 ) set(LIBLZMA_INCLUDE_DIR ${CMAKE_BINARY_DIR}/LZMA/src/LZMA/include) @@ -453,18 +465,24 @@ if(asimage) #---AfterImage--------------------------------------------------------------- set(AFTERIMAGE_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libAfterImage${CMAKE_STATIC_LIBRARY_SUFFIX}) if(WIN32) - if(winrtdebug) - set(astepbld "Debug") - else() - set(astepbld "Release") + set(ASTEP_LIB_DIR ".") + if(NOT CMAKE_GENERATOR MATCHES Ninja) + if(winrtdebug) + set(astepbld Debug) + else() + set(astepbld Release) + endif() + set(ASTEP_LIB_DIR "${astepbld}") + set(ASTEP_EXTRA_BUILD_ARGS --config ${astepbld}) endif() ExternalProject_Add( AFTERIMAGE DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/graf2d/asimage/src/libAfterImage AFTERIMAGE INSTALL_DIR ${CMAKE_BINARY_DIR} - CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_VERBOSE_MAKEFILE=ON -DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} - BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${astepbld} - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${astepbld}/libAfterImage.lib /lib/ + CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR} + BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ASTEP_EXTRA_BUILD_ARGS} + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ASTEP_LIB_DIR}/libAfterImage.lib /lib/ LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0 BUILD_BYPRODUCTS ${AFTERIMAGE_LIBRARIES} TIMEOUT 600 @@ -1239,12 +1257,19 @@ if(builtin_tbb) set(tbb_sha256 1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e) if(MSVC) - set(tbb_build Release) - if(winrtdebug) - set(tbb_build Debug) - set(tbbsuffix "_debug") + if(CMAKE_GENERATOR MATCHES Ninja) + if(CMAKE_BUILD_TYPE MATCHES Debug) + set(tbbsuffix "_debug") + endif() + else() + set(tbb_build Release) + if(winrtdebug) + set(tbb_build Debug) + set(tbbsuffix "_debug") + endif() endif() set(TBB_LIBRARIES ${CMAKE_BINARY_DIR}/lib/tbb12${tbbsuffix}.lib) + set(TBB_CXXFLAGS "-D__TBB_NO_IMPLICIT_LINKAGE=1") install(DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries FILES_MATCHING PATTERN "tbb*.dll") install(DIRECTORY ${CMAKE_BINARY_DIR}/lib/ DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries FILES_MATCHING PATTERN "tbb*.lib") else() @@ -1822,9 +1847,21 @@ if (builtin_gtest) set(GTEST_CXX_FLAGS "${ROOT_EXTERNAL_CXX_FLAGS}") if(MSVC) - set(gtestbuild "Release") - if(winrtdebug) - set(gtestbuild "Debug") + if(winrtdebug) + set(GTEST_BUILD_TYPE Debug) + else() + set(GTEST_BUILD_TYPE Release) + endif() + set(_gtest_byproducts + ${_gtest_byproduct_binary_dir}/lib/gtest.lib + ${_gtest_byproduct_binary_dir}/lib/gtest_main.lib + ${_gtest_byproduct_binary_dir}/lib/gmock.lib + ${_gtest_byproduct_binary_dir}/lib/gmock_main.lib + ) + if(CMAKE_GENERATOR MATCHES Ninja) + set(GTEST_BUILD_COMMAND "BUILD_COMMAND ${CMAKE_COMMAND} --build ") + else() + set(GTEST_BUILD_COMMAND "BUILD_COMMAND ${CMAKE_COMMAND} --build --config ${GTEST_BUILD_TYPE}") endif() if(asan) if(NOT winrtdebug) @@ -1838,7 +1875,9 @@ if (builtin_gtest) -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${_gtest_byproduct_binary_dir}/lib/ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=${_gtest_byproduct_binary_dir}/lib/ -Dgtest_force_shared_crt=ON - BUILD_COMMAND ${CMAKE_COMMAND} --build --config ${gtestbuild}) + ${GTEST_BUILD_COMMAND}) + else() + set(GTEST_BUILD_TYPE Release) endif() if(APPLE) set(EXTRA_GTEST_OPTS @@ -1857,7 +1896,7 @@ if (builtin_gtest) # -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=ReleaseLibs # -Dgtest_force_shared_crt=ON CMAKE_ARGS -G ${CMAKE_GENERATOR} - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=${GTEST_BUILD_TYPE} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt index 5136d6c8e37ba..e608e3a461e16 100644 --- a/core/metacling/src/CMakeLists.txt +++ b/core/metacling/src/CMakeLists.txt @@ -71,9 +71,7 @@ if(MSVC) target_include_directories(MetaCling PRIVATE ${CMAKE_SOURCE_DIR}/core/winnt/inc ) - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set_source_files_properties(TCling.cxx COMPILE_FLAGS $<$:/bigobj>) - endif() + set_source_files_properties(TCling.cxx COMPILE_FLAGS /bigobj) endif() add_dependencies(MetaCling CLING) diff --git a/core/rootcling_stage1/CMakeLists.txt b/core/rootcling_stage1/CMakeLists.txt index f448fcb6241a0..bf7fb405fa4af 100644 --- a/core/rootcling_stage1/CMakeLists.txt +++ b/core/rootcling_stage1/CMakeLists.txt @@ -41,5 +41,7 @@ if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) target_link_libraries(rootcling_stage1 util procstat) endif() -set_target_properties(rootcling_stage1 PROPERTIES RUNTIME_OUTPUT_DIRECTORY src) +if(NOT (WIN32 AND CMAKE_GENERATOR MATCHES Ninja)) + set_target_properties(rootcling_stage1 PROPERTIES RUNTIME_OUTPUT_DIRECTORY src) +endif() add_dependencies(rootcling_stage1 ClingUtils) diff --git a/graf2d/win32gdk/CMakeLists.txt b/graf2d/win32gdk/CMakeLists.txt index 1bd3da45c2d20..c25610240fa93 100644 --- a/graf2d/win32gdk/CMakeLists.txt +++ b/graf2d/win32gdk/CMakeLists.txt @@ -34,10 +34,17 @@ file(GLOB iconvfiles "gdk/src/iconv/*.*") file(GLOB_RECURSE glibfiles "gdk/src/glib/*.*") file(GLOB_RECURSE gdkfiles "gdk/src/gdk/*.*") -if(winrtdebug) - set(nmcxxflags "${CMAKE_CXX_FLAGS_DEBUG}" DEBUG=1) +if(CMAKE_GENERATOR MATCHES Ninja) + set(nmcxxflags ${CMAKE_CXX_FLAGS_${_BUILD_TYPE_UPPER}}) + if (CMAKE_BUILD_TYPE MATCHES "Debug") + set(nmcxxflags "${nmcxxflags}" DEBUG=1) + endif() else() - set(nmcxxflags "${CMAKE_CXX_FLAGS_RELEASE}") + if(winrtdebug) + set(nmcxxflags "${CMAKE_CXX_FLAGS_DEBUG}" DEBUG=1) + else() + set(nmcxxflags "${CMAKE_CXX_FLAGS_RELEASE}") + endif() endif() if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(nmcxxflags "${nmcxxflags} -D_WIN64") diff --git a/hist/unfold/inc/TUnfold.h b/hist/unfold/inc/TUnfold.h index d7ed2d029b1b6..92a7787011a1d 100644 --- a/hist/unfold/inc/TUnfold.h +++ b/hist/unfold/inc/TUnfold.h @@ -92,6 +92,7 @@ #include #include +#include #include #include #include diff --git a/interpreter/CMakeLists.txt b/interpreter/CMakeLists.txt index 373461bd2f279..ca59036be90ae 100644 --- a/interpreter/CMakeLists.txt +++ b/interpreter/CMakeLists.txt @@ -257,9 +257,13 @@ if(builtin_llvm) get_directory_property(LLVM_TARGETS_TO_BUILD DIRECTORY llvm-project/llvm DEFINITION LLVM_TARGETS_TO_BUILD) if(MSVC) + if(CMAKE_GENERATOR MATCHES Ninja) + set(LLVM_TABLEGEN_EXE "${LLVM_BINARY_DIR}/bin/llvm-tblgen.exe") + else() set(LLVM_TABLEGEN_EXE "${LLVM_BINARY_DIR}/$/bin/llvm-tblgen.exe") + endif() else() - set(LLVM_TABLEGEN_EXE "${LLVM_BINARY_DIR}/bin/llvm-tblgen") + set(LLVM_TABLEGEN_EXE "${LLVM_BINARY_DIR}/bin/llvm-tblgen") endif() else() # Rely on llvm-config. diff --git a/interpreter/cling/tools/plugins/clad/CMakeLists.txt b/interpreter/cling/tools/plugins/clad/CMakeLists.txt index 6527060a7689b..b66d958e0c6ad 100644 --- a/interpreter/cling/tools/plugins/clad/CMakeLists.txt +++ b/interpreter/cling/tools/plugins/clad/CMakeLists.txt @@ -14,7 +14,7 @@ set(CLAD_INCLUDE_DIRS ${clad_install_dir}) # Clad Libraries set(CLAD_CXX_FLAGS ${CMAKE_CXX_FLAGS}) set(_clad_build_type ${CMAKE_CFG_INTDIR}) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) if (winrtdebug) set(_clad_build_type Debug) else() @@ -23,6 +23,7 @@ if(MSVC) if(asan) set(CLAD_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ASAN_EXTRA_CXX_FLAGS}") endif() + set(EXTRA_BUILD_ARGS --config ${_clad_build_type}) endif(MSVC) if(NOT _clad_build_type STREQUAL "" AND NOT _clad_build_type STREQUAL ".") set(EXTRA_BUILD_ARGS --config ${_clad_build_type}) @@ -30,9 +31,9 @@ endif() set(_CLAD_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR}/clad-prefix/src/clad-build/${_clad_build_type}/lib${LLVM_LIBDIR_SUFFIX}) # build byproducts only needed by Ninja -if("${CMAKE_GENERATOR}" STREQUAL "Ninja") +if(CMAKE_GENERATOR MATCHES Ninja) set(CLAD_BYPRODUCTS - ${_CLAD_LIBRARY_PATH}/${CMAKE_STATIC_LIBRARY_PREFIX}cladPlugin${CMAKE_STATIC_LIBRARY_SUFFIX} + ${_CLAD_LIBRARY_PATH}/${CMAKE_STATIC_LIBRARY_PREFIX}cladPlugin${CMAKE_STATIC_LIBRARY_SUFFIX} ${_CLAD_LIBRARY_PATH}/${CMAKE_STATIC_LIBRARY_PREFIX}cladDifferentiator${CMAKE_STATIC_LIBRARY_SUFFIX} ) endif() diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index cdc9b69961818..43b291c9a0f92 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -18,8 +18,8 @@ if(NOT WIN32) endif() ROOT_EXECUTABLE(root.exe rmain.cxx LIBRARIES Core Rint) if(MSVC) - set(root_exports "/EXPORT:_Init_thread_abort /EXPORT:_Init_thread_epoch - /EXPORT:_Init_thread_footer /EXPORT:_Init_thread_header /EXPORT:_tls_index + set(root_exports "/EXPORT:_Init_thread_abort /EXPORT:_Init_thread_epoch \ + /EXPORT:_Init_thread_footer /EXPORT:_Init_thread_header /EXPORT:_tls_index \ /STACK:4000000 setargv.obj") set_property(TARGET root.exe APPEND_STRING PROPERTY LINK_FLAGS ${root_exports}) add_custom_command(TARGET root.exe POST_BUILD diff --git a/math/mathcore/test/CMakeLists.txt b/math/mathcore/test/CMakeLists.txt index 9837873e853db..2d184210766bf 100644 --- a/math/mathcore/test/CMakeLists.txt +++ b/math/mathcore/test/CMakeLists.txt @@ -64,7 +64,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(TrackMathCoreUnitDict LINKDEF stress/TrackMathCoreLinkDef.h DEPENDENCIES Core MathCore RIO GenVector Smatrix) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET TrackMathCoreUnitDict POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/libTrackMathCoreUnitDict.dll ${CMAKE_CURRENT_BINARY_DIR}/libTrackMathCoreUnitDict.dll) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 80bf5f75fa93b..72e0233f44870 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -50,7 +50,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Event HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Event.h SOURCES Event.cxx LINKDEF EventLinkDef.h DEPENDENCIES Hist MathCore) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) if(NOT runtime_cxxmodules) add_custom_command(TARGET Event POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libEvent_rdict.pcm @@ -233,7 +233,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(TrackMathCoreDict HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/TrackMathCore.h LINKDEF TrackMathCoreLinkDef.h DEPENDENCIES Core MathCore RIO GenVector Smatrix) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET TrackMathCoreDict POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/libTrackMathCoreDict.dll ${CMAKE_CURRENT_BINARY_DIR}/libTrackMathCoreDict.dll) @@ -277,6 +277,7 @@ if(WIN32) set(cleantmpfiles POSTCMD cmd /c del AutoDict_*) endif() ROOT_ADD_TEST(test-stressinterpreter COMMAND stressInterpreter + WORKING_DIR ${CMAKE_BINARY_DIR} PRECMD ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/stressInterpreter.cxx $/stressInterpreter.cxx ${cleantmpfiles} diff --git a/test/RootShower/CMakeLists.txt b/test/RootShower/CMakeLists.txt index 5e9dbef67f183..406543294a03f 100644 --- a/test/RootShower/CMakeLists.txt +++ b/test/RootShower/CMakeLists.txt @@ -42,7 +42,7 @@ target_link_libraries(RootShower ROOT::Core ROOT::Rint ROOT::Gui ROOT::RIO ROOT: ROOT::Graf ROOT::EG ROOT::Html ROOT::Geom ROOT::Tree ) set_target_properties(RootShower PROPERTIES ENABLE_EXPORTS 1) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET RootShower POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/RootShower.exe ${CMAKE_CURRENT_BINARY_DIR} diff --git a/tree/dataframe/test/CMakeLists.txt b/tree/dataframe/test/CMakeLists.txt index 545417f8e80aa..b3238faeebc2d 100644 --- a/tree/dataframe/test/CMakeLists.txt +++ b/tree/dataframe/test/CMakeLists.txt @@ -108,7 +108,7 @@ if(root7) LINKDEF NTupleStructLinkDef.h DEPENDENCIES RIO) configure_file(NTupleStruct.hxx . COPYONLY) - if(MSVC) + if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET NTupleStruct POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/libNTupleStruct.dll ${CMAKE_CURRENT_BINARY_DIR}/libNTupleStruct.dll) diff --git a/tree/ntuple/v7/test/CMakeLists.txt b/tree/ntuple/v7/test/CMakeLists.txt index d966abc4a1278..6de02a113b93d 100644 --- a/tree/ntuple/v7/test/CMakeLists.txt +++ b/tree/ntuple/v7/test/CMakeLists.txt @@ -13,7 +13,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(CustomStruct LINKDEF CustomStructLinkDef.h DEPENDENCIES RIO) configure_file(CustomStruct.hxx . COPYONLY) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET CustomStruct POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/libCustomStruct.dll ${CMAKE_CURRENT_BINARY_DIR}/libCustomStruct.dll) diff --git a/tree/ntupleutil/v7/test/CMakeLists.txt b/tree/ntupleutil/v7/test/CMakeLists.txt index 92039a39d3340..f130dabd906b8 100644 --- a/tree/ntupleutil/v7/test/CMakeLists.txt +++ b/tree/ntupleutil/v7/test/CMakeLists.txt @@ -13,7 +13,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(CustomStructUtil LINKDEF CustomStructUtilLinkDef.h DEPENDENCIES RIO) configure_file(CustomStructUtil.hxx . COPYONLY) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET CustomStructUtil POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/$/libCustomStructUtil.dll ${CMAKE_CURRENT_BINARY_DIR}/libCustomStructUtil.dll) diff --git a/tree/tree/test/CMakeLists.txt b/tree/tree/test/CMakeLists.txt index 5bb222edc55d4..5442f241ff3c4 100644 --- a/tree/tree/test/CMakeLists.txt +++ b/tree/tree/test/CMakeLists.txt @@ -9,7 +9,7 @@ ROOT_GENERATE_DICTIONARY(ElementStructDict ElementStruct.h LINKDEF ElementStruct ROOT_ADD_GTEST(testTOffsetGeneration TOffsetGeneration.cxx ElementStruct.cxx ElementStructDict.cxx LIBRARIES RIO Tree MathCore ) -if(MSVC) +if(MSVC AND NOT CMAKE_GENERATOR MATCHES Ninja) add_custom_command(TARGET testTOffsetGeneration POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libElementStructDict_rdict.pcm ${CMAKE_CURRENT_BINARY_DIR}/$/libElementStructDict_rdict.pcm)