我想添加一些目標文件到CMake靜態庫,但他們有一個自定義擴展。如何將具有自定義擴展名的對象添加到cmake庫中?
這是我已經試過:
set(SRCS testfile.cxx jsobj.js)
add_library(testlib STATIC ${SRCS})
做時,CMake的調用ar testfile.cxx.o
(即其他文件完全忽略)。如何將它包含在檔案中?以下是我已經嘗試了一些其他技巧:
list(APPEND CMAKE_CXX_SOURCE_FILE_EXTENSIONS js)
list(APPEND CMAKE_C_SOURCE_FILE_EXTENSIONS js) # no luck
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/jsobj.js.o
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/jsobj.js
${CMAKE_CURRENT_BINARY_DIR}/jsobj.js.o
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/jsobj.js.o) # still no luck
(如果你有興趣,我使用的是emscripten編譯器,它可以接受C/C++文件作爲源輸入和JavaScript文件本質上是「預編譯的對象「,我想找到一種方法讓CMake將它們添加到ar
命令行中,就這些了!)
你解決了這個問題嗎?我正在尋找一個解決方案,我真的很感興趣 – GameDeveloper 2014-12-28 00:59:14
@DarioOO我已經彙總了一下我在下面做了什麼;希望這應該有所幫助。 – 2015-01-07 07:51:28