Compilando o Scribus usando o CMake

From Scribus Wiki
Jump to navigation Jump to search

Voltar para a página principal

Versão em inglês.

CMake no Scribus 1.3.X (também no 1.3.3.X)

Depois de muitos anos usando o Autotools como sistema de construção (build sytem), os desenvolvedores escolheram o CMake como substituto ao Autotools. Ele oferece uma configuração/instalação muito mais flexível e de pouca complexidade, compatível com sistemas de construção (build) no Linux e variantes de Unix, Windows e Mac OSX.

Você precisará do CMake 2.4.3 para melhores resultados. Versões antigas falharão.

Sumário de como instalar

Faça o download do SVN como dito no Obtendo o Scribus a partir do SVN e siga os passos abaixo.

A partir do diretório do Scribus:

/caminho/parao/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/caminho/para/instalar/o/scribuscmake/ ex. /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs

Algumas opções que o arquivo CMake do Scribus compreende (mais por vir!):

  • WANT_VERSIONING=1: Faz com que a construção utilize a configuração de VERSÃO como sufixo para os diretórios e binários. Exemplo: O binário poderia ser o scribus-1.3.4cvs. Isto deve significar que você pode instalar múltiplas versões com o mesmo prefixo sem que conflitos ocorram.
  • WANT_DEBUG=1: Marca a construção com a opção debug e usa -O0 -g3, em vez de -O2*
  • WANT_CAIRO=1: Faz como que o CMake procure pelo Cairo e construa uma versão com o Cairo, em vez do LibArt_LGPL. Por favor, note que nós ainda consideramos a versão cairo como Beta.
  • WANT_LIBART=1 (padrão): O mesmo que acima, porém utiliza o Libart no lugar do Cairo.

Exemplo: para construir uma versão com o Debug habilitado e usando o Cairo:

/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs -DWANT_CAIRO=1 -DWANT_DEBUG=1 -DWANT_VERSIONING=1

* Esta opção é padrão e não pode ser desabilitada ao menos que você edite o arquivo CMakeFiles.txt

Construindo fora do diretório fonte*

Uma das vantagens do CMake é que você pode compilar o código fonte fora do seu próprio diretório. Como assim? Isso faz com que você construa a aplicação sem escrever nada no diretório do código fonte. Isto significa que seu diretório raiz sempre estará limpo. É mais fácil e rápido de ser atualizado e você pode gerar construções de múltiplos alvos fora do diretório fonte a partir do mesmo diretório.

Para o fazer, você precisará de um novo diretório para construir o código.

Digamos que seu código fonte está em:

/home/nome_de_usuário/scribuscmake/Scribus

Crie o seguinte diretório:

/home/nome_de_usuário/scribuscmake/builddir

E então, em vez de fazer...

ex. /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs

Mude para o diretório de contrução e então execute:

ex. /usr/local/bin/cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs

* Opcional

Continuando a construção

Uma vez que isto esteja finalizado com sucesso, simplesmente execute:

make && make install.

O sistema de construção CMake é muito novo no Scribus, então alterações e melhorias serão feitas. Por favor, informe-nos sobre problemas no sistema através de nossa lista de correio eletrônico ou pelo nosso bugtracker.

Há uma extensa lista de afazeres para esse sistema, incluindo --mas não limitado à:

  • Checar sua funcionalidade em diferentes distribuições
  • Checar sua funcionalidade em vários "sabores" de UNIXs
  • Checar sua funcionalidade em distribuições de 64 bits
  • Adicionar suporte para Win32 e Mac OS X

Falha de compilação com o QT4

Nos sistemas que possuem ambos QT3 e QT4 instalados, o código fonte pode não compilar devido ao uso do uic e do moc do QT4 em vez do QT3. Ainda sim, isso não deverá acontecer quando o CMake 2.4.2 for lançado ou se você estiver usando a versão CVS atual do Scribus.

Veja como solucionar:

1.Remova o cache de instalações anteriores do CMake. Execute:

rm CMakeCacher.txt

2.Então, altere a variável PATH (caminho) para o seu QT3:

Gentoo: export PATH=/usr/qt/3/bin/:$PATH
SuSE: export PATH=/usr/lib/qt3/bin:$PATH

3.Execute novamente o comando de configuração:

Gentoo: ~/devel/CMAKE/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/caminho/para/a/instalação/
SuSE: /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/caminho/para/a/instalação/