2017-09-21 87 views
0

我是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)

任何想法我我做错了吗?

感谢

詹姆斯

+0

你的意思是你改变了'FALSE'部分TRUE;或'BOOL'部分TRUE;? – Simple

+1

可能是https://stackoverflow.com/a/10364240/1597714 – AMA

+0

的副本我将FALSE部分设置为TRUE。上面编辑。谢谢。 – GUIDeveloper

回答

0

为了使您可以使用-DUSE_OLD_CODE:BOOL = ON 并禁用USE_OLD_CODE使用-DUSE_OLD_CODE:BOOL = OFF

+0

开/关根本不起作用。 – GUIDeveloper