如果在cmake中使用宏

如果在cmake中使用宏,cmake,Cmake,我有一个CMAKE文件,我正在定义一个宏,我想使用这个宏作为条件 我有一个示例cmake文件,我将LIT\u indicator定义为1或0,并希望在IF语句中使用其值来查找LIB cmake_minimum_required(VERSION 3.14) project(test) set(CMAKE_CXX_STANDARD 17) add_definitions(-DLIT_INDECATOR=1) set(TEST_PRIFIX ../lib/internal/libtest)

我有一个CMAKE文件,我正在定义一个宏,我想使用这个宏作为条件

我有一个示例cmake文件,我将
LIT\u indicator
定义为1或0,并希望在IF语句中使用其值来查找LIB

cmake_minimum_required(VERSION 3.14)
project(test)

set(CMAKE_CXX_STANDARD 17)
add_definitions(-DLIT_INDECATOR=1)


set(TEST_PRIFIX ../lib/internal/libtest)


if(LIT_INDECATOR EQUALS 1) # <-- how to make this line works?
 find_library(SOME_LIB
            NAMES libtest
            HINTS "${TEST_PRIFIX}"
            )
    if(NOT SOME_LIB)
        message(FATAL_ERROR "SOME_LIB library not found")
    else()
        message("SOME_LIB library found")
    endif()
endif()


link_directories(${TEST_PRIFIX})

SET(SOURCE_FILES main.cpp)
add_executable(test ${SOURCE_FILES})
target_link_libraries(test libtest)
cmake_最低要求(3.14版)
项目(测试)
套装(CMAKE_CXX_标准17)
添加定义(-DLIT\u INDECATOR=1)
设置(TEST\u PRIFIX../lib/internal/libtest)

if(LIT_INDECATOR等于1)#尝试if(LIT_INDECATOR)@msteel9999不工作
add_定义
为编译器添加宏
if()
命令检查CMake变量。编译器宏和CMake变量是绝对不相关的东西,即使它们有相同的名称。一般方法:首先定义CMake变量。在
if
命令中使用此变量,您可以有条件地添加编译器宏和其他库。@Tsyvarev谢谢,它可以工作,请将其作为答案写入,我将接受它