Hello, I have a project, that actually consists of several modules that have dependencies between them. I want to add CTC (code coverage analysis) support, and in order to do this I would need, similar than with purify, to change compiler binary, but I need this to be done just for directly dependant directories. I link the modules by add_subdirectory and target_link_libraries. I tried to do this in following way: OPTION(USE_CTC "enable CTC for project (set also CTC_PROJECTS in CMakeLists.txt)" NO) ... IF(USE_CTC AND NOT CTC_PROJECTS) message("WARNING: CTC_PROJECTS not set, will default to '${SUBDIRS}'") SET(CTC_PROJECTS ${SUBDIRS}) ENDIF(USE_CTC AND NOT CTC_PROJECTS)
... IF(USE_CTC AND CTC_PROJECTS) LIST(FIND CTC_PROJECTS ${PROJECT_NAME} DO_CTC) IF(DO_CTC EQUAL -1) SET(DO_CTC "FALSE") ELSE(DO_CTC EQUAL -1) SET(DO_CTC "TRUE") ENDIF(DO_CTC EQUAL -1) IF(DO_CTC) message("activate CTC") SET(CMAKE_CXX_COMPILER "/opt/ctc++/linux/ix86/ctc++_6.3/bin/ctc") SET(CMAKE_CXX_COMPILER_ARG1 "-v -V -i fd -c /etc/ctc.ini /some_path/i586-linux-gnu-i686-glibc_std-g++") ENDIF(DO_CTC) ENDIF(USE_CTC AND CTC_PROJECTS) I could not do this via changing only CMAKE_CXX_COMPILER (can not find compiler) but had to do this via ARG1 variable. Anyway, for some projects it works as expected, but for some others I get folowing error: ERROR: You have changed variables that require your cache to be deleted. Configure will be re-run and you may have to reset some variables. The following variables have changed: CMAKE_CXX_COMPILER= /some_path/i586-linux-gnu-i686-glibc_std-g++ The bigger problem is, that it calls cmake again, but without any commandline parameters, thus cannot find the toolchain, and fails at the end. So far I could not find why it works for some projects, and for some others don't. I hope you can help me on this one. I'm using cmake v2.6.2 Best Regards, Bartek
_______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake