Cabal: построить каталог с источником
У меня есть каталог src
. В этом каталоге есть каталог Main.hs
и Test
. В каталоге Test
у меня есть модуль Test.hs
. Мне нужно скомпилировать его с помощью cabal.
В моем файле кэша я:
Executable main
-- .hs or .lhs file containing the Main module.
Main-is: src/Main.hs
и
-- Modules not exported by this package.
Other-modules: Test.Test
Когда я делаю cabal configure
это нормально, но когда я пытаюсь cabal build
, я получаю следующую ошибку:
cabal build
Preprocessing executables for main-0.0.1...
cabal: can't find source for Test/Test in ., dist/build/autogen
Как я могу правильно построить Main.hs
и некоторые другие каталоги с .hs
файлами?
Спасибо.
Ответы
Ответ 1
Если Test.Test
определено в src/Test/Test.hs
, вам нужно
hs-source-dirs: src
в разделе "Исполняемый файл" вашего файла Cabal. Обратите внимание, что путь к файлу main-is
должен быть относительно исходного каталога, поэтому в этом случае вы должны изменить его на Main.hs
.