find_package(ZLIB) include(CMakeFindDependencyMacro) include(CheckCXXSourceRuns) include(CheckCSourceRuns) # Do something stupid (see https://github.com/mesonbuild/meson/issues/7501) set("") check_cxx_source_runs( " #include using namespace std; int main(void) { cout << \"Hello World\" << endl; return 0; } " CXX_CODE_RAN ) check_c_source_runs( " #include int main(void) { printf(\"Hello World\"); return 0; } " C_CODE_RAN ) if(NOT CXX_CODE_RAN) message(FATAL_ERROR "Running CXX source code failed") endif() if(NOT C_CODE_RAN) message(FATAL_ERROR "Running C source code failed") endif() if(NOT SomethingLikeZLIB_FIND_COMPONENTS STREQUAL "required_comp") message(FATAL_ERROR "Component 'required_comp' was not specified") endif() find_dependency(Threads) if(ZLIB_FOUND OR ZLIB_Found) set(SomethingLikeZLIB_FOUND ON) set(SomethingLikeZLIB_LIBRARIES ${ZLIB_LIBRARY}) set(SomethingLikeZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR}) else() set(SomethingLikeZLIB_FOUND OFF) endif()