いくつかのオブジェクト ファイルを 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
(興味がある場合は、ソース入力として C/C++ ファイルを受け入れることができる emscripten コンパイラを使用しています。JavaScript ファイルは本質的に「プリコンパイル済みオブジェクト」です。CMake にそれらを追加する方法を見つけたいです。ar
コマンドライン、それだけです! )