cmake conversion #3

Обединени
SlavekB обедини 1 ревизии от feat/cmakeConv във master преди 5 години
Ghost коментира преди 5 години

I've added a man page taken from your Debian building system.
The download location for kbarcode-2.0.0.pdf has been set to "gentoo.ussg.indiana.edu", this could be change for an other location (wiki) later.

I've added a man page taken from your Debian building system. The download location for kbarcode-2.0.0.pdf has been set to "gentoo.ussg.indiana.edu", this could be change for an other location (wiki) later.
Ghost added the PR/rfc label преди 5 години
SlavekB reviewed преди 5 години
SlavekB left a comment
Притежател

Please add the build options and adjust the tests as mentioned in the note below.

Please add the build options and adjust the tests as mentioned in the note below.
#### check for headers
check_include_file( "barcode.h" _ENABLE_NATIVE_GNU_BARCODE )
check_include_file( "kjs/interpreter.h" USE_JAVASCRIPT )
Притежател

We should define options such as WITH_NATIVE_GNU_BARCODE (OFF by default) and WITH_JAVASCRIPT, and these tests should end by tde_message_fatal if the conditions are not met.

We should define options such as `WITH_NATIVE_GNU_BARCODE` (OFF by default) and `WITH_JAVASCRIPT`, and these tests should end by `tde_message_fatal` if the conditions are not met.
Притежател

There are additional issues:

  1. Since TDE includes neither TQt include does not need to be on the usual paths, test for kjs/interpreter.h fails – we need to set CMAKE_REQUIRED_INCLUDES.
  2. Since kjs/interpreter.h is intended for C++, the check_include_file test fails because the build with C fails – we need to use check_include_file_cxx.

This means to add to CMakeLists.txt:

include( CheckIncludeFileCXX    )

And in ConfigureChecks.cmake change test:

if( WITH_JAVASCRIPT )
  tde_save( CMAKE_REQUIRED_INCLUDES )
  list( APPEND CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} ${TDE_INCLUDE_DIR} )
  check_include_file_cxx( "kjs/interpreter.h" USE_JAVASCRIPT )
  tde_restore( CMAKE_REQUIRED_INCLUDES )
endif( )
There are additional issues: 1. Since TDE includes neither TQt include does not need to be on the usual paths, test for `kjs/interpreter.h` fails – we need to set `CMAKE_REQUIRED_INCLUDES`. 2. Since `kjs/interpreter.h` is intended for C++, the `check_include_file` test fails because the build with C fails – we need to use `check_include_file_cxx`. This means to add to CMakeLists.txt: ``` include( CheckIncludeFileCXX ) ``` And in ConfigureChecks.cmake change test: ``` if( WITH_JAVASCRIPT ) tde_save( CMAKE_REQUIRED_INCLUDES ) list( APPEND CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} ${TDE_INCLUDE_DIR} ) check_include_file_cxx( "kjs/interpreter.h" USE_JAVASCRIPT ) tde_restore( CMAKE_REQUIRED_INCLUDES ) endif( ) ```
SlavekB reviewed преди 5 години
config.h.cmake Outdated
Притежател

A little typo in the comment – closing > is one word later.

A little typo in the comment – closing > is one word later.
SlavekB reviewed преди 5 години
SlavekB left a comment
Притежател

Sorry, but there are some new shortcomings – see comments.

Sorry, but there are some new shortcomings – see comments.
CMakeLists.txt Outdated
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
option( WITH_NATIVE_GNU_BARCODE "Enable GNU Barcode" OFF )
option( WITH_JAVASCRIPT "Enable Javascript" OFF )
Притежател

These are WITH_… options – they belong to the section ##### optional stuff. For WITH_JAVASCRIPT please use default value ${WITH_ALL_OPTIONS}.

These are `WITH_…` options – they belong to the section `##### optional stuff`. For `WITH_JAVASCRIPT` please use default value `${WITH_ALL_OPTIONS}`.
list( APPEND CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} ${TDE_INCLUDE_DIR} )
check_include_file_cxx( "kjs/interpreter.h" HAVE_JAVASCRIPT )
if( HAVE_JAVASCRIPT )
set( USE_JAVASCRIPT 1 )
Притежател

Here it would be good to add also set( NO_KJS_EMBED 1 ).

Here it would be good to add also `set( NO_KJS_EMBED 1 )`.
endif( HAVE_JAVASCRIPT )
else()
set( USE_JAVASCRIPT false )
tde_restore( CMAKE_REQUIRED_INCLUDES )
Притежател

This tde_restore is misplaced – it belongs before else( )

This `tde_restore` is misplaced – it belongs before `else( )`
config.h.cmake Outdated
#cmakedefine _ENABLE_NATIVE_GNU_BARCODE @_ENABLE_NATIVE_GNU_BARCODE@
/* Define to 1 if you have <kjs/interpreter.h> header file. */
#cmakedefine USE_JAVASCRIPT @USE_JAVASCRIPT@
Притежател

Here, #cmakedefine NO_KJS_EMBED should also be set.

Here, `#cmakedefine NO_KJS_EMBED` should also be set.
Притежател

Finished little things:

  1. Rebased to current HEAD.
  2. Fixed shortcomings in patch for cmake options.
  3. Added patch for automake options.
  4. Added patch for ascii cast.

Everything seems to be ready for merge.

Finished little things: 1. Rebased to current HEAD. 2. Fixed shortcomings in patch for cmake options. 3. Added patch for automake options. 4. Added patch for ascii cast. Everything seems to be ready for merge.
SlavekB removed the PR/rfc label преди 5 години
SlavekB approved these changes преди 5 години
SlavekB left a comment
Притежател

Everything seems to be ready for merge.

Everything seems to be ready for merge.
SlavekB closed this pull request преди 5 години
SlavekB deleted branch feat/cmakeConv преди 5 години
SlavekB added this to the R14.0.6 release milestone преди 5 години
Тази заявка за сливане е била обединена като 20a84daca2.
Впишете се за да се присъедините към разговора.
No reviewers
Няма етап
Няма изпълнители
2 участника
Известия
Due Date

No due date set.

Зависимости

No dependencies set.

Reference: TDE/kbarcode#3
Зареждане…
Все още няма съдържание.