Skip to content

Commit 3024726

Browse files
committed
Addresses PlusLib #233, adding support for RelWithDebInfo and MinSizeRel
1 parent ac3686e commit 3024726

12 files changed

+74
-211
lines changed

CMake/PlusBuildMacros.cmake

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
MACRO(PlusCopyLibrariesToDirectory _destination)
2+
FOREACH(lib ${ARGN})
3+
IF(NOT TARGET ${lib})
4+
continue()
5+
ENDIF()
6+
7+
GET_TARGET_PROPERTY(_lib_type ${lib} TYPE)
8+
9+
IF(NOT ${_lib_type} STREQUAL "INTERFACE_LIBRARY")
10+
GET_TARGET_PROPERTY(_debug_file ${lib} IMPORTED_LOCATION_DEBUG)
11+
GET_TARGET_PROPERTY(_release_file ${lib} IMPORTED_LOCATION_RELEASE)
12+
GET_TARGET_PROPERTY(_rel_deb_info_file ${lib} IMPORTED_LOCATION_RELWITHDEBINFO)
13+
GET_TARGET_PROPERTY(_min_size_rel_file ${lib} IMPORTED_LOCATION_MINSIZEREL)
14+
GET_TARGET_PROPERTY(_pdb_name ${lib} PDB_NAME)
15+
GET_TARGET_PROPERTY(_pdb_directory ${lib} PDB_OUTPUT_DIRECTORY)
16+
17+
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
18+
# Release
19+
IF(EXISTS ${_release_file})
20+
FILE(COPY ${_release_file} DESTINATION ${_destination}/Release)
21+
ENDIF()
22+
23+
# Debug
24+
IF(EXISTS ${_debug_file})
25+
FILE(COPY ${_debug_file} DESTINATION ${_destination}/Debug)
26+
ENDIF()
27+
28+
# Release with debug info
29+
IF(EXISTS ${_rel_deb_info_file})
30+
FILE(COPY ${_rel_deb_info_file} DESTINATION ${_destination}/RelWithDebInfo)
31+
ELSEIF(EXISTS ${_release_file})
32+
FILE(COPY ${_release_file} DESTINATION ${_destination}/RelWithDebInfo)
33+
ENDIF()
34+
35+
# Min size release
36+
IF(EXISTS ${_min_size_rel_file})
37+
FILE(COPY ${_min_size_rel_file} DESTINATION ${_destination}/MinSizeRel)
38+
ELSEIF(EXISTS ${_release_file})
39+
FILE(COPY ${_release_file} DESTINATION ${_destination}/MinSizeRel)
40+
ENDIF()
41+
ELSE()
42+
IF(_debug_file EQUAL _release_file AND EXISTS ${_release_file})
43+
FILE(COPY ${_release_file} DESTINATION ${_destination})
44+
ELSE()
45+
IF(EXISTS ${_release_file})
46+
FILE(COPY ${_release_file} DESTINATION ${_destination})
47+
ENDIF()
48+
IF(EXISTS ${_debug_file})
49+
FILE(COPY ${_debug_file} DESTINATION ${_destination})
50+
ENDIF()
51+
ENDIF()
52+
ENDIF()
53+
ENDIF()
54+
ENDFOREACH()
55+
ENDMACRO()

CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ SET(CMAKE_MODULE_PATH
1717
${CMAKE_MODULE_PATH}
1818
)
1919

20+
# Include our build macros
21+
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMake/PlusBuildMacros.cmake)
22+
2023
OPTION(PLUSBUILD_OFFLINE_BUILD "Build Plus without an internet connection. All libraries must be downloaded and updated manually." OFF)
2124
MARK_AS_ADVANCED(PLUSBUILD_OFFLINE_BUILD)
2225

SuperBuild/External_GrabbieLib.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ IF (PLUS_USE_BKPROFOCUS_CAMERALINK)
2626
ENDIF()
2727
SET(GRABBIELIB_ADDITIONAL_SDK_ARGS ${GRABBIELIB_ADDITIONAL_SDK_ARGS}
2828
-DDALSASAPERA_DIR:PATH=${DALSASAPERA_DIR}
29-
-DDALSASAPERA_LIB_DIR:PATH=${DALSASAPERA_LIB_DIR}
29+
-DDALSASAPERA_LIB_DIR:PATH=${DALSASAPERA_LIB_DIR}
3030
)
3131
ENDIF()
3232

SuperBuild/External_ITK.cmake

+1-28
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,7 @@ IF(ITK_DIR)
55
MESSAGE(STATUS "Using ITK available at: ${ITK_DIR}")
66

77
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
8-
FOREACH(lib ${ITK_LIBRARIES})
9-
IF(NOT TARGET ${lib})
10-
continue()
11-
ENDIF()
12-
13-
GET_TARGET_PROPERTY(ITK_DEBUG_FILE ${lib} IMPORTED_LOCATION_DEBUG)
14-
GET_TARGET_PROPERTY(ITK_RELEASE_FILE ${lib} IMPORTED_LOCATION_RELEASE)
15-
16-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
17-
IF(EXISTS ${ITK_RELEASE_FILE})
18-
FILE(COPY ${ITK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
19-
ENDIF()
20-
IF(EXISTS ${ITK_DEBUG_FILE})
21-
FILE(COPY ${ITK_DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
22-
ENDIF()
23-
ELSE()
24-
IF(ITK_DEBUG_FILE EQUAL ITK_RELEASE_FILE AND EXISTS ${ITK_RELEASE_FILE})
25-
FILE(COPY ${ITK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
26-
ELSE()
27-
IF(EXISTS ${ITK_RELEASE_FILE})
28-
FILE(COPY ${ITK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
29-
ENDIF()
30-
IF(EXISTS ${ITK_DEBUG_FILE})
31-
FILE(COPY ${ITK_DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
32-
ENDIF()
33-
ENDIF()
34-
ENDIF()
35-
ENDFOREACH()
8+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${ITK_LIBRARIES})
369

3710
SET (PLUS_ITK_DIR ${ITK_DIR} CACHE INTERNAL "Path to store itk binaries")
3811
ELSE()

SuperBuild/External_IntersonSDKCxx.cmake

+1-12
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,7 @@ IF(IntersonSDKCxx_DIR)
1212

1313
MESSAGE(STATUS "Using IntersonSDKCxx available at: ${IntersonSDKCxx_DIR}")
1414

15-
SET(_config)
16-
IF (MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
17-
SET( _config "/Release" )
18-
ENDIF()
19-
FOREACH(_libpath ${IntersonSDKCxx_RUNTIME_LIBRARY_DIRS})
20-
IF(EXISTS "${_libpath}/IntersonCxx.${CMAKE_SHARED_LIBRARY_SUFFIX}")
21-
FILE(COPY "${_libpath}"
22-
DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${_config}"
23-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
24-
)
25-
ENDIF()
26-
ENDFOREACH()
15+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${IntersonSDKCxx_LIBRARIES})
2716

2817
SET(PLUS_IntersonSDKCxx_DIR "${IntersonSDKCxx_DIR}" CACHE INTERNAL "Path to store IntersonSDKCxx binaries")
2918
ELSE()

SuperBuild/External_OpenCV.cmake

+1-28
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,7 @@ IF(OpenCV_DIR)
22
FIND_PACKAGE(OpenCV 3.3.1 REQUIRED NO_MODULE)
33

44
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
5-
FOREACH(lib ${OpenCV_LIBS})
6-
IF(NOT TARGET ${lib})
7-
continue()
8-
ENDIF()
9-
10-
GET_TARGET_PROPERTY(DEBUG_FILE ${lib} IMPORTED_LOCATION_DEBUG)
11-
GET_TARGET_PROPERTY(RELEASE_FILE ${lib} IMPORTED_LOCATION_RELEASE)
12-
13-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
14-
IF(EXISTS ${RELEASE_FILE})
15-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
16-
ENDIF()
17-
IF(EXISTS ${DEBUG_FILE})
18-
FILE(COPY ${DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
19-
ENDIF()
20-
ELSE()
21-
IF(DEBUG_FILE EQUAL RELEASE_FILE AND EXISTS ${RELEASE_FILE})
22-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
23-
ELSE()
24-
IF(EXISTS ${RELEASE_FILE})
25-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
26-
ENDIF()
27-
IF(EXISTS ${DEBUG_FILE})
28-
FILE(COPY ${DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
29-
ENDIF()
30-
ENDIF()
31-
ENDIF()
32-
ENDFOREACH()
5+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${OpenCV_LIBS})
336

347
SET(PLUS_OpenCV_DIR ${OpenCV_DIR} CACHE INTERNAL "Path to store OpenCV binaries")
358

SuperBuild/External_OpenIGTLink.cmake

+1-18
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,7 @@ IF(OpenIGTLink_DIR)
88
MESSAGE(STATUS "Using OpenIGTLink available at: ${OpenIGTLink_DIR}")
99

1010
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
11-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
12-
FILE(COPY
13-
${OpenIGTLink_LIBRARY_DIRS}/Release/
14-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release
15-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
16-
)
17-
FILE(COPY
18-
${OpenIGTLink_LIBRARY_DIRS}/Debug/
19-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug
20-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
21-
)
22-
ELSE()
23-
FILE(COPY
24-
${OpenIGTLink_LIBRARY_DIRS}/
25-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
26-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
27-
)
28-
ENDIF()
11+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${OpenIGTLink_LIBRARIES})
2912

3013
SET (PLUS_OpenIGTLink_DIR "${OpenIGTLink_DIR}" CACHE INTERNAL "Path to store OpenIGTLink binaries")
3114
ELSE()

SuperBuild/External_OpenIGTLinkIO.cmake

+1-18
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,7 @@ IF(OpenIGTLinkIO_DIR)
55
MESSAGE(STATUS "Using OpenIGTLinkIO available at: ${OpenIGTLinkIO_DIR}")
66

77
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
8-
IF( MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode" )
9-
FILE(COPY
10-
${OpenIGTLinkIO_LIBRARY_DIRS}/Release/
11-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release
12-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
13-
)
14-
FILE(COPY
15-
${OpenIGTLinkIO_LIBRARY_DIRS}/Debug/
16-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug
17-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
18-
)
19-
ELSE()
20-
FILE(COPY
21-
${OpenIGTLinkIO_LIBRARY_DIRS}/
22-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
23-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
24-
)
25-
ENDIF()
8+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${OpenIGTLinkIO_LIBRARIES})
269

2710
SET (PLUS_OpenIGTLinkIO_DIR "${OpenIGTLinkIO_DIR}" CACHE INTERNAL "Path to store OpenIGTLinkIO binaries")
2811
ELSE()

SuperBuild/External_OvrvisionPro.cmake

+1-18
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,7 @@ IF(OvrvisionPro_DIR)
44
MESSAGE(STATUS "Using OvrvisionPro available at: ${OvrvisionPro_DIR}")
55

66
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
7-
IF( MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode" )
8-
FILE(COPY
9-
${OpenIGTLinkIO_LIBRARY_DIRS}/Release/
10-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release
11-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
12-
)
13-
FILE(COPY
14-
${OpenIGTLinkIO_LIBRARY_DIRS}/Debug/
15-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug
16-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
17-
)
18-
ELSE()
19-
FILE(COPY
20-
${OpenIGTLinkIO_LIBRARY_DIRS}/
21-
DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
22-
FILES_MATCHING REGEX .*${CMAKE_SHARED_LIBRARY_SUFFIX}
23-
)
24-
ENDIF()
7+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} OvrvisionPro)
258

269
SET(PLUS_OvrvisionPro_DIR ${OvrvisionPro_DIR} CACHE INTERNAL "Path to store OvrvisionPro binaries")
2710
ELSE()

SuperBuild/External_VTK.cmake

+5-37
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,16 @@ IF(VTK_DIR)
33
FIND_PACKAGE(VTK REQUIRED)
44

55
IF(NOT ${VTK_VERSION_MAJOR} GREATER 6)
6-
MESSAGE(FATAL_ERROR "VTK7+ required for Plus.")
7-
SET(VTK-DIR VTK-DIR_NOTFOUND FORCE)
6+
MESSAGE(FATAL_ERROR "VTK7+ required for Plus. Found VTK ${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}.${VTK_VERSION_PATH}.")
7+
SET(VTK_DIR VTK-DIR_NOTFOUND FORCE)
88
ENDIF()
99

1010
MESSAGE(STATUS "Using VTK available at: ${VTK_DIR}")
1111

1212
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
13-
FOREACH(lib ${VTK_LIBRARIES})
14-
IF(NOT TARGET ${lib})
15-
continue()
16-
ENDIF()
13+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${VTK_LIBRARIES})
1714

18-
GET_TARGET_PROPERTY(LIB_TYPE ${lib} TYPE)
19-
20-
IF(NOT ${LIB_TYPE} STREQUAL "INTERFACE_LIBRARY")
21-
GET_TARGET_PROPERTY(VTK_DEBUG_FILE ${lib} IMPORTED_LOCATION_DEBUG)
22-
GET_TARGET_PROPERTY(VTK_RELEASE_FILE ${lib} IMPORTED_LOCATION_RELEASE)
23-
24-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
25-
IF(EXISTS ${VTK_RELEASE_FILE})
26-
FILE(COPY ${VTK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
27-
ENDIF()
28-
IF(EXISTS ${VTK_DEBUG_FILE})
29-
FILE(COPY ${VTK_DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
30-
ENDIF()
31-
ELSE()
32-
IF(VTK_DEBUG_FILE EQUAL VTK_RELEASE_FILE AND EXISTS ${VTK_RELEASE_FILE})
33-
FILE(COPY ${VTK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
34-
ELSE()
35-
IF(EXISTS ${VTK_RELEASE_FILE})
36-
FILE(COPY ${VTK_RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
37-
ENDIF()
38-
IF(EXISTS ${VTK_DEBUG_FILE})
39-
FILE(COPY ${VTK_DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
40-
ENDIF()
41-
ENDIF()
42-
ENDIF()
43-
ENDIF()
44-
ENDFOREACH()
45-
46-
SET (PLUS_VTK_DIR "${VTK_DIR}" CACHE INTERNAL "Path to store vtk binaries")
15+
SET(PLUS_VTK_DIR "${VTK_DIR}" CACHE INTERNAL "Path to store vtk binaries")
4716

4817
IF(PLUSBUILD_BUILD_PLUSAPP AND NOT TARGET vtkGUISupportQt)
4918
MESSAGE(SEND_ERROR "You have to build VTK with VTK_USE_QT flag ON if you need to use PLUSBUILD_BUILD_PLUSAPP.")
@@ -53,7 +22,6 @@ IF(VTK_DIR)
5322
SET(VTK_BUILD_DEPENDENCY_TARGET CACHE INTERNAL "The name of the target to list as a dependency to ensure build order correctness.")
5423
ELSE()
5524
# VTK has not been built yet, so download and build it as an external project
56-
5725
SET(VTK_VERSION_SPECIFIC_ARGS)
5826
IF(PLUSBUILD_BUILD_PLUSAPP)
5927
LIST(APPEND VTK_VERSION_SPECIFIC_ARGS -DVTK_Group_Qt:BOOL=ON)
@@ -101,7 +69,7 @@ ELSE()
10169
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
10270
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
10371
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
104-
-DBUILD_SHARED_LIBS:BOOL=${PLUSBUILD_BUILD_SHARED_LIBS}
72+
-DBUILD_SHARED_LIBS:BOOL=${PLUSBUILD_BUILD_SHARED_LIBS}
10573
-DBUILD_TESTING:BOOL=OFF
10674
-DBUILD_EXAMPLES:BOOL=OFF
10775
-DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}

SuperBuild/External_aruco.cmake

+2-28
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,8 @@ IF(aruco_DIR)
33

44
MESSAGE(STATUS "Using aruco available at: ${aruco_DIR}")
55

6-
FOREACH(lib ${aruco_LIBS})
7-
IF(NOT TARGET ${lib})
8-
continue()
9-
ENDIF()
10-
11-
GET_TARGET_PROPERTY(DEBUG_FILE ${lib} IMPORTED_LOCATION_DEBUG)
12-
GET_TARGET_PROPERTY(RELEASE_FILE ${lib} IMPORTED_LOCATION_RELEASE)
13-
14-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
15-
IF(EXISTS ${RELEASE_FILE})
16-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
17-
ENDIF()
18-
IF(EXISTS ${DEBUG_FILE})
19-
FILE(COPY ${DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
20-
ENDIF()
21-
ELSE()
22-
IF(DEBUG_FILE EQUAL RELEASE_FILE AND EXISTS ${RELEASE_FILE})
23-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
24-
ELSE()
25-
IF(EXISTS ${RELEASE_FILE})
26-
FILE(COPY ${RELEASE_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
27-
ENDIF()
28-
IF(EXISTS ${DEBUG_FILE})
29-
FILE(COPY ${DEBUG_FILE} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
30-
ENDIF()
31-
ENDIF()
32-
ENDIF()
33-
ENDFOREACH()
6+
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
7+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${aruco_LIBS})
348

359
SET (PLUS_aruco_DIR ${aruco_DIR} CACHE INTERNAL "Path to store aruco binaries")
3610
ELSE()

SuperBuild/External_ndicapi.cmake

+2-23
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,9 @@ IF(ndicapi_DIR)
22
FIND_PACKAGE(ndicapi REQUIRED NO_MODULE)
33

44
MESSAGE(STATUS "Using ndicapi available at: ${ndicapi_DIR}")
5-
6-
IF(MSVC OR ${CMAKE_GENERATOR} MATCHES "Xcode")
7-
SET(_rel_dest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release)
8-
SET(_deb_dest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug)
9-
ELSE()
10-
SET(_rel_dest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
11-
SET(_deb_dest ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
12-
ENDIF()
135

14-
GET_TARGET_PROPERTY(_ndi_debug_dll ndicapi IMPORTED_LOCATION_DEBUG)
15-
IF(_ndi_debug_dll)
16-
FILE(COPY _ndi_debug_dll DESTINATION ${_deb_dest})
17-
ENDIF()
18-
19-
GET_TARGET_PROPERTY(_ndi_release_dll ndicapi IMPORTED_LOCATION_RELEASE)
20-
IF(_ndi_release_dll)
21-
FILE(COPY _ndi_release_dll DESTINATION ${_rel_dest})
22-
ENDIF()
23-
24-
GET_TARGET_PROPERTY(_ndi_dll ndicapi IMPORTED_LOCATION)
25-
IF(_ndi_dll)
26-
FILE(COPY _ndi_dll DESTINATION ${_deb_dest})
27-
FILE(COPY _ndi_dll DESTINATION ${_rel_dest})
28-
ENDIF()
6+
# Copy libraries to CMAKE_RUNTIME_OUTPUT_DIRECTORY
7+
PlusCopyLibrariesToDirectory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ndicapi)
298

309
SET(PLUS_ndicapi_DIR ${ndicapi_DIR} CACHE INTERNAL "Path to store ndicapi binaries")
3110
ELSE()

0 commit comments

Comments
 (0)