[CMake - Autotools] passage de l'un à l'autre
Bonjour,
dans mon passage d'Autotools à CMake, je viens (encore) de tomber sur un os.
Dans mon fichier configure.ac, j'ai ça
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
ILP_PATHS=$libdir/otawa/ilp
LOADER_PATHS=$libdir/otawa/loader
PROC_PATHS=$libdir/otawa/proc
SIMULATOR_PATHS=$libdir/otawa/sim
# Configurations
AS_AC_EXPAND(ILP_PATHS, "$ILP_PATHS")
AC_DEFINE_UNQUOTED(ILP_PATHS, "$ILP_PATHS", [Paths for ILP plugins])
AS_AC_EXPAND(LOADER_PATHS,"$LOADER_PATHS")
AC_DEFINE_UNQUOTED(LOADER_PATHS, "$LOADER_PATHS", [Paths for loader plugins])
AS_AC_EXPAND(PROC_PATHS,"$PROC_PATHS")
AC_DEFINE_UNQUOTED(PROC_PATHS, "$PROC_PATHS", [Paths for processor plugins])
AS_AC_EXPAND(SIMULATOR_PATHS, "$SIMULATOR_PATHS")
AC_DEFINE_UNQUOTED(SIMULATOR_PATHS, "$SIMULATOR_PATHS", [Paths for simulator plugins]) |
Sous CMake j'ai essayé de le "convertir" en faisant ça
Code:
1 2 3 4 5
|
if(CMAKE_BUILD_TYPE MATCHES Release)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D ILP_PATHS=lib/otawa/ilp")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D LOADER_PATHS=lib/otawa/loader")
endif (CMAKE_BUILD_TYPE MATCHES Release) |
Sauf que à la compilation j'obtiens
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
manager.cpp: In constructor 'otawa::Manager::Manager()':
manager.cpp:148:21: error: 'lib' was not declared in this scope
manager.cpp:148:21: error: expected primary-expression before '/' token
manager.cpp:148:30: error: expected primary-expression before ')' token
manager.cpp:150:24: error: expected primary-expression before '/' token
manager.cpp:150:24: error: 'loader' was notdeclared in this scope
manager.cpp:151:61: error: 'SIMULATOR_PATHS' was not declared in this scope
manager.cpp: At global scope:
manager.cpp:634:43: error: 'DATE' was not declared in this scope
mingw32-make[2]: *** [src/prog/CMakeFiles/libotawa.dir/manager.cpp.obj] Error 1
mingw32-make[1]: *** [src/prog/CMakeFiles/libotawa.dir/all] Error 2
mingw32-make: *** [all] Error 2 |
Comment faire ? J'ai essayé de mettre des chemins complets vers le dossier, j'ai un message d'erreur à cause du ":", il ne reconnait que la lettre du disque dur.
Code:
1 2 3
|
manager.cpp:148:21: error: 'D' was not declared in this scope
manager.cpp:150:24: error: expected ')' before ':' token |