yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #09170
Re: [Question #245682]: optional compilation of LBM engine
Try to use
ADD_DEFINITIONS("-DLBM_ENGINE")
instead
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLBM_ENGINE")
Show your CMakeCache.txt
Anton
2014-03-18 16:56 GMT+01:00 Luc Sibille <question245682@xxxxxxxxxxxxxxxxxxxxx>:
> New question #245682 on Yade:
> https://answers.launchpad.net/yade/+question/245682
>
> Hi,
> A LBM engine (to compute interstitial fluid flow with the lattice Boltzmann method) was implemented in Yade some years ago, but have not been submitted to git so far. Now I want to submit this engine, and I want to make its compilation optionnal, with this option disable by default.
>
> Consequently I added in CMakeLists.txt the following lines:
>
> OPTION(ENABLE_LBMFLOW "Enable LBM engine (very experimental)" OFF)
>
> and
>
> IF(ENABLE_LBMFLOW)
> SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLBM_ENGINE")
> SET(CONFIGURED_FEATS "${CONFIGURED_FEATS} LBMFLOW")
> MESSAGE("LBMFLOW is still experimental, building and running LBM engine are at your own risk!")
> ELSE(ENABLE_LBMFLOW)
> SET(DISABLED_FEATS "${DISABLED_FEATS} LBMFLOW")
> ENDIF(ENABLE_LBMFLOW)
>
> In addition all .ccp and .hpp files related to the LBM engine begin with:
> #ifdef LBM_ENGINE
> and finish with
> #endif
>
> When I choose the option:
> cmake -DENABLE_LBMFLOW=ON
> the message:
> "LBMFLOW is still experimental, building and running LBM engine are at your own risk!"
> is printed in the console, thus ENABLE_LBMFLOW is turned to ON as requested, but that's all and the compilation of the LBM engine is not performed. It is as if the results of the condition:
> #ifdef LBM_ENGINE
> is still false. Indeed, if I remove the condition #ifdef LBM_ENGINE, then the LBM engine is compiled.
>
> I think I missed a point somewhere in the definition of the variable LBM_ENGINE, but which one? Have you got an idea?
>
Follow ups
References