|
|
|
|
@ -416,6 +416,8 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
|
|
|
|
|
if(TARGET Corrade::${_component}) |
|
|
|
|
set(Corrade_${_component}_FOUND TRUE) |
|
|
|
|
else() |
|
|
|
|
unset(Corrade_${_component}_FOUND) |
|
|
|
|
|
|
|
|
|
# Library (and not header-only) components |
|
|
|
|
if(_component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND NOT _component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS) |
|
|
|
|
add_library(Corrade::${_component} UNKNOWN IMPORTED) |
|
|
|
|
@ -506,25 +508,33 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
|
|
|
|
|
elseif(_component STREQUAL PluginManager) |
|
|
|
|
# -ldl is handled by Utility now |
|
|
|
|
|
|
|
|
|
# TestSuite library has some additional files |
|
|
|
|
# TestSuite library has some additional files. If those are not found, |
|
|
|
|
# set the component _FOUND variable to false so it works properly both |
|
|
|
|
# when the component is required and when it's optional. |
|
|
|
|
elseif(_component STREQUAL TestSuite) |
|
|
|
|
# XCTest runner file |
|
|
|
|
if(CORRADE_TESTSUITE_TARGET_XCTEST) |
|
|
|
|
find_file(CORRADE_TESTSUITE_XCTEST_RUNNER XCTestRunner.mm.in |
|
|
|
|
PATH_SUFFIXES share/corrade/TestSuite) |
|
|
|
|
set(CORRADE_TESTSUITE_XCTEST_RUNNER_NEEDED CORRADE_TESTSUITE_XCTEST_RUNNER) |
|
|
|
|
if(NOT CORRADE_TESTSUITE_XCTEST_RUNNER) |
|
|
|
|
set(Corrade_${_component}_FOUND FALSE) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# ADB runner file |
|
|
|
|
elseif(CORRADE_TARGET_ANDROID) |
|
|
|
|
find_file(CORRADE_TESTSUITE_ADB_RUNNER AdbRunner.sh |
|
|
|
|
PATH_SUFFIXES share/corrade/TestSuite) |
|
|
|
|
set(CORRADE_TESTSUITE_ADB_RUNNER_NEEDED CORRADE_TESTSUITE_ADB_RUNNER) |
|
|
|
|
if(NOT CORRADE_TESTSUITE_ADB_RUNNER) |
|
|
|
|
set(Corrade_${_component}_FOUND FALSE) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# Emscripten runner file |
|
|
|
|
elseif(CORRADE_TARGET_EMSCRIPTEN) |
|
|
|
|
find_file(CORRADE_TESTSUITE_EMSCRIPTEN_RUNNER EmscriptenRunner.html.in |
|
|
|
|
PATH_SUFFIXES share/corrade/TestSuite) |
|
|
|
|
set(CORRADE_TESTSUITE_EMSCRIPTEN_RUNNER_NEEDED CORRADE_TESTSUITE_EMSCRIPTEN_RUNNER) |
|
|
|
|
if(NOT CORRADE_TESTSUITE_EMSCRIPTEN_RUNNER) |
|
|
|
|
set(Corrade_${_component}_FOUND FALSE) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# Utility library (contains all setup that is used by others) |
|
|
|
|
@ -569,13 +579,16 @@ foreach(_component ${Corrade_FIND_COMPONENTS})
|
|
|
|
|
endforeach() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# Decide if the component was found |
|
|
|
|
# Decide if the component was found, unless the _FOUND is already set |
|
|
|
|
# by something above. |
|
|
|
|
if(NOT DEFINED Corrade_${_component}_FOUND) |
|
|
|
|
if((_component IN_LIST _CORRADE_LIBRARY_COMPONENTS AND _CORRADE_${_COMPONENT}_INCLUDE_DIR AND (_component IN_LIST _CORRADE_HEADER_ONLY_COMPONENTS OR CORRADE_${_COMPONENT}_LIBRARY_RELEASE OR CORRADE_${_COMPONENT}_LIBRARY_DEBUG)) OR (_component IN_LIST _CORRADE_EXECUTABLE_COMPONENTS AND CORRADE_${_COMPONENT}_EXECUTABLE)) |
|
|
|
|
set(Corrade_${_component}_FOUND TRUE) |
|
|
|
|
else() |
|
|
|
|
set(Corrade_${_component}_FOUND FALSE) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
endforeach() |
|
|
|
|
|
|
|
|
|
# For CMake 3.16+ with REASON_FAILURE_MESSAGE, provide additional potentially |
|
|
|
|
@ -616,9 +629,6 @@ find_package_handle_standard_args(Corrade REQUIRED_VARS
|
|
|
|
|
CORRADE_INCLUDE_DIR |
|
|
|
|
_CORRADE_MODULE_DIR |
|
|
|
|
_CORRADE_CONFIGURE_FILE |
|
|
|
|
${CORRADE_TESTSUITE_XCTEST_RUNNER_NEEDED} |
|
|
|
|
${CORRADE_TESTSUITE_ADB_RUNNER_NEEDED} |
|
|
|
|
${CORRADE_TESTSUITE_EMSCRIPTEN_RUNNER_NEEDED} |
|
|
|
|
HANDLE_COMPONENTS |
|
|
|
|
${_CORRADE_REASON_FAILURE_MESSAGE}) |
|
|
|
|
|
|
|
|
|
|