2014-02-05 66 views
0

我們的庫使用Cmake,而整體系統使用Make文件進行構建。端口一個變量形式使Cmake

我想將生成文件中定義的變量(預處理器宏)的值移植到Cmakefile中,並將其用作庫的源代碼中的預處理器marco。

如何做到這一點?後來在你的CMake文件

cmake -DMY_VAR=ON <path_to_CMakeLists.txt> 

然後:

+0

你必須告訴我們更多關於CMake如何集成到Makefile中的信息。 – Angew

回答

1

您可以在CMake的調用定義變量,像這樣

if (MY_VAR) 
    add_definitions(-DENABLE_MY_VAR) 
endif() 
在你的代碼

最後:

#ifdef ENABLE_MY_VAR 
    // Your code 
#endif 
+0

你能詳細說明一下嗎? cmake -DMY_VAR = ON 我在makefile中執行此操作嗎? – user1816574

+0

從您的問題中不清楚CMake是如何觸發的。當您在全球項目中運行make時啓動它嗎? –

+0

是的...全球項目是使用make構建的......這也會觸發cmake將我們的庫構建爲共享庫。 – user1816574