我usiing一個FindLibDL CMake module其中,除其他事項外,決定了一些關於布爾值下劃線報告失敗:使我FindLibDL CMake的腳本不是一個虛假的布爾值
# ...
CHECK_C_SOURCE_RUNS("#include <dlfcn.h>
#include <stdlib.h>
void testfunc() {}
int main() {
testfunc();
if (dlsym(0, \"_testfunc\") != (void*)0) {
return EXIT_SUCCESS;
} else {
return EXIT_FAILURE;
}
}" LIBDL_NEEDS_UNDERSCORE)
mark_as_advanced(LIBDL_INCLUDE_DIRS LIBDL_LIBRARIES LIBDL_NEEDS_UNDERSCORE)
的事情是,如果底線不是CMake報告LIBDL_NEEDS_UNDERSCORE
失敗。我該如何做到這一點,以便我仍然可以確定相同的價值,但仍不會將其報告爲失敗?
如果不需要下劃線,則此var包含'FALSE'。有什麼問題?它按照你的意圖工作。 – arrowd
@arrowd:問題是CMake的控制檯輸出告訴我一些失敗的東西,而沒有失敗,它只是'FALSE'。 – einpoklum