How can I pass a macro to the preprocessor? For example, if I want to compile some part of my code because a user wants to compile unit test, I would do this:
#ifdef _COMPILE_UNIT_TESTS_
BLA BLA
#endif //_COMPILE_UNIT_TESTS_
Now I need to pass this value from CMake to the preprocessor. Setting a variable doesn’t work, so how can I accomplish this?
add_definitions(-DCOMPILE_UNIT_TESTS)(cf. CMake’s doc) or modify one of the flag variables (CMAKE_CXX_FLAGS, orCMAKE_CXX_FLAGS_<configuration>) or setCOMPILE_FLAGSvariable on the target.Also, identifiers that begin with an underscore followed by an uppercase letter are reserved for the implementation. Identifiers containing double underscore, too. So don’t use them.