Условная компиляция 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

Ответы (0 шт):