Je cherche une astuce pour obtenir ce qui suit pour travailler, voici mon CMakeLists.txtCmake compilation avec des cadres sur Mac OSX et traiter cpp fichiers comme .m/.mm
# cmake_minimum_required(2.8.2) project(boilerplate) # base files set(src_files src/greet.h src/main.cpp ) # if on OSX, these files are needed if(APPLE) SET(CMAKE_EXE_LINKER_FLAGS "-framework Foundation -w") set(src_files ${src_files} src/mac/greet.mm src/mac/greeting.h src/mac/greeting.m ) endif() # if on windows, these files are needed if(WIN32) set(src_files ${src_files} src/win/greet.cpp ) endif() add_executable(greeting ${src_files} )
Je requiers que sur OSX les fichiers .cpp sont traités comme des fichiers .mm (mais sur Windows, pas) et que je peux charger la base de base, les frameworks etc ... Je suis un newbie complet de cmake, donc je ne peux même pas commencer à savoir par où commencer, mais j'espère que je suis en quelque sorte dans la bonne direction, la sortie actuelle est:
$ cmake CMakeLists.txt && make -- Configuring done -- Generating done -- Build files have been written to: /Users/leehambley/Projects/watched.it-client Scanning dependencies of target greeting [ 33%] Building CXX object CMakeFiles/greeting.dir/src/mac/greet.o Linking CXX executable greeting Undefined symbols: "greet()", referenced from: _main in main.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [greeting] Error 1 make[1]: *** [CMakeFiles/greeting.dir/all] Error 2 make: *** [all] Error 2 1