explicit aspect activation
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...). This resolves several problems at
once:
- Build directories may be positioned arbitrarily now, they need not be
a subdirectory of the project anymore.
- Multiple build directories can coexist within the project tree. Before
this commit, the generated instantiate-*.ah aspect headers disturbed
neighboring build trees.
- Due to this, the regression test should be runnable much more easily
now.
- The build time was reduced by an average of about 10%.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
@ -18,8 +18,12 @@ elseif(${COMPILER} STREQUAL "ag++")
|
||||
set(CMAKE_C_COMPILER "ag++")
|
||||
set(CMAKE_CXX_COMPILER "ag++")
|
||||
set(CMAKE_AGPP_FLAGS "--real-instances" CACHE STRING "Additional ag++ flags, e.g. --real-instances --keep_woven")
|
||||
## Here we add the build dir holding the generated header files (protobuf)
|
||||
add_definitions("-p ${CMAKE_SOURCE_DIR} ${CMAKE_AGPP_FLAGS} --Xcompiler")
|
||||
foreach(aspect_header ${CMAKE_ASPECT_HEADERS})
|
||||
list(APPEND AGPP_ASPECTLIST -a ${aspect_header})
|
||||
endforeach(aspect_header)
|
||||
set(AGPP_PARAMETERS ${AGPP_ASPECTLIST} -p ${CMAKE_SOURCE_DIR} ${CMAKE_AGPP_FLAGS})
|
||||
unset(AGPP_ASPECTLIST)
|
||||
add_definitions(${AGPP_PARAMETERS} --Xcompiler)
|
||||
|
||||
else(${COMPILER} STREQUAL "clang")
|
||||
message(FATAL_ERROR "COMPILER must be exactly one of clang/gcc/ag++. If unsure, use 'ag++'.")
|
||||
|
||||
Reference in New Issue
Block a user