Skip to content

Commit 02156d3

Browse files
ferdymercurydpiparo
authored andcommitted
[vdt] use proper CMake target and move builtin-build to subdir
1 parent 907e923 commit 02156d3

3 files changed

Lines changed: 47 additions & 44 deletions

File tree

builtins/vdt/CMakeLists.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
set(ROOT_VDT_VERSION 0.4.6)
2+
set(VDT_FOUND True)
3+
set(VDT_LIBRARIES "${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}vdt${CMAKE_SHARED_LIBRARY_SUFFIX}")
4+
ExternalProject_Add(
5+
BUILTIN_VDT
6+
URL ${lcgpackages}/vdt-${ROOT_VDT_VERSION}.tar.gz
7+
URL_HASH SHA256=1820feae446780763ec8bbb60a0dbcf3ae1ee548bdd01415b1fb905fd4f90c54
8+
INSTALL_DIR ${CMAKE_BINARY_DIR}
9+
CMAKE_ARGS
10+
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
11+
-DSSE=OFF # breaks on ARM without this
12+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
13+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
14+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
15+
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
16+
-DCMAKE_CXX_FLAGS=${ROOT_EXTERNAL_CXX_FLAGS}
17+
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
18+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
19+
BUILD_BYPRODUCTS ${VDT_LIBRARIES}
20+
TIMEOUT 600
21+
)
22+
ExternalProject_Add_Step(
23+
BUILTIN_VDT copy2externals
24+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/include/vdt ${CMAKE_BINARY_DIR}/ginclude/vdt
25+
DEPENDEES install
26+
)
27+
set(VDT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/ginclude)
28+
set(VDT_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/ginclude)
29+
30+
add_library(VDT::VDT SHARED IMPORTED GLOBAL)
31+
add_dependencies(VDT::VDT BUILTIN_VDT)
32+
set_target_properties(VDT::VDT PROPERTIES IMPORTED_LOCATION ${VDT_LIBRARIES})
33+
target_include_directories(VDT::VDT INTERFACE $<BUILD_INTERFACE:${VDT_INCLUDE_DIR}> $<INSTALL_INTERFACE:include/>)
34+
35+
install(FILES ${VDT_LIBRARIES}
36+
DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
37+
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/vdt
38+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT extra-headers)
39+
set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS VDT::VDT)
40+
41+
set(VDT_VERSION ${ROOT_VDT_VERSION} PARENT_SCOPE)
42+
set(VDT_FOUND ${VDT_FOUND} PARENT_SCOPE)
43+
set(VDT_LIBRARIES ${VDT_LIBRARIES} PARENT_SCOPE)
44+
set(VDT_INCLUDE_DIRS ${VDT_INCLUDE_DIRS} PARENT_SCOPE)

cmake/modules/SearchInstalledSoftware.cmake

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -964,47 +964,8 @@ if(vdt OR builtin_vdt)
964964
endif()
965965
endif()
966966
if(builtin_vdt)
967-
set(vdt_version 0.4.6)
968-
set(VDT_FOUND True)
969-
set(VDT_LIBRARIES ${CMAKE_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}vdt${CMAKE_SHARED_LIBRARY_SUFFIX})
970-
ExternalProject_Add(
971-
BUILTIN_VDT
972-
URL ${lcgpackages}/vdt-${vdt_version}.tar.gz
973-
URL_HASH SHA256=1820feae446780763ec8bbb60a0dbcf3ae1ee548bdd01415b1fb905fd4f90c54
974-
INSTALL_DIR ${CMAKE_BINARY_DIR}
975-
CMAKE_ARGS
976-
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
977-
-DSSE=OFF # breaks on ARM without this
978-
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
979-
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
980-
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
981-
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
982-
-DCMAKE_CXX_FLAGS=${ROOT_EXTERNAL_CXX_FLAGS}
983-
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
984-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
985-
BUILD_BYPRODUCTS ${VDT_LIBRARIES}
986-
TIMEOUT 600
987-
)
988-
ExternalProject_Add_Step(
989-
BUILTIN_VDT copy2externals
990-
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/include/vdt ${CMAKE_BINARY_DIR}/ginclude/vdt
991-
DEPENDEES install
992-
)
993-
set(VDT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/ginclude)
994-
set(VDT_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/ginclude)
995-
996-
add_library(VDT::VDT SHARED IMPORTED GLOBAL)
997-
add_dependencies(VDT::VDT BUILTIN_VDT)
998-
set_target_properties(VDT::VDT PROPERTIES IMPORTED_LOCATION "${VDT_LIBRARIES}")
999-
target_include_directories(VDT::VDT INTERFACE $<BUILD_INTERFACE:${VDT_INCLUDE_DIR}> $<INSTALL_INTERFACE:include/>)
1000-
1001-
install(FILES ${VDT_LIBRARIES}
1002-
DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
1003-
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/vdt
1004-
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT extra-headers)
1005-
set_property(GLOBAL APPEND PROPERTY ROOT_BUILTIN_TARGETS VDT::VDT)
1006-
else()
1007-
BUILD_ROOT_INCLUDE_PATH("${VDT_INCLUDE_DIR}")
967+
list(APPEND ROOT_BUILTINS VDT)
968+
add_subdirectory(builtins/vdt)
1008969
endif()
1009970
endif()
1010971

roottest/root/math/vdt/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ if (vdt AND NOT ROOT_CLASSIC_BUILD AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "
33
set (testname stressVdt)
44
set(additional_compile_flags "-O3")
55

6-
include_directories(${VDT_INCLUDE_DIRS})
7-
86
ROOTTEST_GENERATE_EXECUTABLE(${testname}
97
${testname}.cxx
108
COMPILE_FLAGS ${additional_compile_flags}
11-
LIBRARIES Core Hist Gpad MathCore ${VDT_LIBRARIES}
9+
LIBRARIES Core Hist Gpad MathCore VDT::VDT
1210
FIXTURES_SETUP root-math-vdt-stressVdt-fixture)
1311

1412
ROOTTEST_ADD_TEST(${testname}

0 commit comments

Comments
 (0)