2017-09-21 1 views
0

Je suis assez nouveau à cmake. J'utilise ce qui suit:cmake compiler booléen commutateur question

cmake -DUSE_OLD_CODE:BOOL=FALSE 

Cela fonctionne très bien. Mais quand je change le FALSE en TRUE, le compilateur semble penser que USE_OLD_CODE est un dossier et se plaint alors qu'il ne peut pas le trouver.

Ci-dessous est CMakeLists.txt

cmake_minimum_required (VERSION 3.5.1)

set (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)

ensemble (SOURCES "main.cpp" )

ensemble (OLD_CODE_SOURCES "OldCode.cpp" )

ensemble (NEW_CODE_SOURCES "NewCode.cpp" )

IF (USE_OLD_CODE) set (SOURCES $ {SOURCES} "$ {} OLD_CODE_SOURCES") AUTRE (USE_OLD_CODE) set (SOURCES $ {SOURCES} "$ {} NEW_CODE_SOURCES") ENDIF (USE_OLD_CODE)

IF (WIN32) ADD_EXECUTABLE ($ {EXÉCUTABLE} WIN32 $ {SOURCES}) ELSEIF (UNIX) ADD_EXECUTABLE ($ {EXÉCUTABLE} $ {SOURCES}) ENDIF (WIN32)

Toutes les idées ce que je je fais mal?

grâce

James

+0

Voulez-vous dire que vous changez la partie 'false' à' true' ou 'la partie de BOOL' à'on'? – Simple

+1

Pourrait être une copie de https://stackoverflow.com/a/10364240/1597714 – AMA

+0

Je place la partie FALSE sur TRUE. Edité ci-dessus. Je vous remercie. – GUIDeveloper

Répondre

0

Pour vous permettre pouvez utiliser -DUSE_OLD_CODE: BOOL = ON et Pour désactiver l'utilisation USE_OLD_CODE -DUSE_OLD_CODE: BOOL = OFF

+0

On/OFF ne fonctionne pas du tout. – GUIDeveloper