Условная компиляция C++
Пытаюсь реализовать условную компиляцию на C++, проверяющую наличие строки add_subdirectory() и target_link_libraries() в cmake, но никак не получается. При добавлении строки add_subdirectory и target_link_libraries компилятор не видит условия и код не выполняется. Использую Visual Studio.
Код из CMakeLists.txt:
if(TARGET image_norm)
add_definitions(-DENABLE_IMAGE_NORM)
message("IMAGE_NORM ENABLE")
else()
MESSAGE("IMAGE_NORM DISABLE")
endif()
Код из .hpp:
#ifdef ENABLE_IMAGE_NORM
#include <image_norm/image_norm.hpp>
#endif
Код из .cpp:
#if defined (IMAGE_NORM)
ImageNorm a;
a.load_img(filePathName_copy);
cv::Mat img = a.normalize();
cv::imwrite("output.jpg", img);
std::string filePathName_processed = "output.jpg";
std::string file_name = obj.filePathName;
const char* cstr_processed = filePathName_processed.c_str();
bool ret_processed = ScanGui::LoadTextureFromFile(cstr_processed, &obj.my_image_texture_processed, &obj.my_image_width, &obj.my_image_height);
IM_ASSERT(ret_processed);
#endif