Skip to content

Commit 8a935fe

Browse files
committed
Refactor 3rdparty software builds
- Run 3rdparty builds from 3rdparty directory CMakeLists - Remove unnecessary build directory creation for 3rdparty repos (TBB and OpenCV) - Pass CMAKE_MAKE_PROGRAM from project CMake to children 3rdparty projects
1 parent 77c53e6 commit 8a935fe

2 files changed

Lines changed: 18 additions & 21 deletions

File tree

3rdparty/CMakeLists.txt

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
1-
add_subdirectory(googletest)
2-
3-
file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build")
1+
execute_process(
2+
COMMAND ${CMAKE_COMMAND}
3+
-S "${CMAKE_SOURCE_DIR}/3rdparty/opencv" -B "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build"
4+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
5+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
6+
-DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_opencv_apps=OFF
7+
)
8+
execute_process(
9+
COMMAND ${CMAKE_COMMAND} --build "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build" --config "${CMAKE_BUILD_TYPE}"
10+
)
411

512
execute_process(
6-
COMMAND ${CMAKE_COMMAND} -S "${CMAKE_SOURCE_DIR}/3rdparty/TBB" -B "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build" -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
7-
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build"
13+
COMMAND ${CMAKE_COMMAND}
14+
-S "${CMAKE_SOURCE_DIR}/3rdparty/TBB" -B "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build"
15+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
16+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
17+
-DCMAKE_INSTALL_PREFIX="${CMAKE_SOURCE_DIR}/3rdparty/TBB/install"
18+
-DTBB_TEST=OFF
819
)
920
execute_process(
1021
COMMAND ${CMAKE_COMMAND} --build "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build" --config "${CMAKE_BUILD_TYPE}"
11-
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/TBB/build"
1222
)
13-
14-
option(TBB_TEST OFF)
15-
add_subdirectory(TBB)

app/ReaderImage/CMakeLists.txt

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build")
2-
3-
execute_process(
4-
COMMAND ${CMAKE_COMMAND} -S "${CMAKE_SOURCE_DIR}/3rdparty/opencv" -B "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build" -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_opencv_apps=OFF
5-
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build"
6-
)
7-
execute_process(
8-
COMMAND ${CMAKE_COMMAND} --build "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build" --config "${CMAKE_BUILD_TYPE}"
9-
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build"
10-
)
11-
121
set(INCLUDE_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/reader_img.hpp")
132
set(SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/reader_img_s.cpp")
143
add_library(ReadLib STATIC ${INCLUDE_HEADERS} ${SRC_FILES})
@@ -17,9 +6,10 @@ add_library(ReadLib STATIC ${INCLUDE_HEADERS} ${SRC_FILES})
176
set_target_properties(ReadLib PROPERTIES LINKER_LANGUAGE CXX)
187

198
find_package( OpenCV REQUIRED PATHS "${CMAKE_SOURCE_DIR}/3rdparty/opencv/build" )
9+
find_package( TBB REQUIRED PATHS "${CMAKE_SOURCE_DIR}/3rdparty/TBB/install" )
2010
include_directories( ${OpenCV_INCLUDE_DIRS} )
2111
target_link_libraries( ReadLib ${OpenCV_LIBS} )
22-
target_link_libraries( ReadLib TBB::tbb)
12+
target_link_libraries( ReadLib ${TBB_IMPORTED_TARGETS})
2313

2414
add_executable(Reader reader_img.cpp)
2515
target_link_libraries(Reader ReadLib)

0 commit comments

Comments
 (0)