我是cmake的新手。我正在使用以下:cmake编译器布尔开关问题
cmake -DUSE_OLD_CODE:BOOL=FALSE
这工作正常。但是,当我将FALSE
更改为TRUE
时,编译器似乎认为USE_OLD_CODE
是一个文件,然后抱怨它找不到它。
下面是的CMakeLists.txt
cmake_minimum_required(VERSION 3.5.1)
集(CMAKE_INCLUDE_CURRENT_DIR ON)
add_compile_options(-std = C++ 11/W4/WD “4127”/ WD “4201”/ MP)
IF(USE_OLD_CODE) add_compile_options(/ d “USE_OLD_CODE”) ENDIF(USE_OLD_CODE)
集(SOURCES “的main.cpp” )
集(OLD_CODE_SOURCES “OldCode.cpp” )
集(NEW_CODE_SOURCES “NewCode.cpp” )
IF(USE_OLD_CODE ) 集(SOURCES $ {SOURCES} “$ {OLD_CODE_SOURCES}”) ELSE(USE_OLD_CODE) 集(SOURCES $ {SOURCES} “$ {NEW_CODE_SOURCES}”) ENDIF(USE_OLD_CODE)
IF(WIN32) add_executable($ {EXECUTABLE} WIN32 $ {SOURCES}) ELSEIF(UNIX) add_executable($ {EXECUTABLE} $ {SOURCES}) ENDIF(WIN32)
任何想法我我做错了吗?
感谢
詹姆斯
你的意思是你改变了'FALSE'部分TRUE;或'BOOL'部分TRUE;? – Simple
可能是https://stackoverflow.com/a/10364240/1597714 – AMA
的副本我将FALSE部分设置为TRUE。上面编辑。谢谢。 – GUIDeveloper