Difference between revisions of "Documentation/4.1/Developers/Build Module"
From Slicer Wiki
m (Created page with 'The different [[Documentation/{{documentation/version}}/Developers/Modules|type of modules]] supported by Slicer can easily be build outside of the Slicer source tree. The follo…') |
m |
||
| Line 3: | Line 3: | ||
The following examples are specific to unix-like platforms and can easily be adapted for Windows. | The following examples are specific to unix-like platforms and can easily be adapted for Windows. | ||
| − | + | Assuming the source code of your module is located in folder <code>MyModule</code>, externally building modules could be achieved doing: | |
<pre> | <pre> | ||
| + | $ mkdir MyModule-build | ||
$ cd MyModule-build | $ cd MyModule-build | ||
| − | $ cmake -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild/Slicer-build . | + | $ cmake -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild/Slicer-build ../MyModule |
$ make | $ make | ||
</pre> | </pre> | ||
| − | For this to work, in addition to invoke <code>cmake_minimum_required</code> at the top of the CMakeLists.txt, it's important to make sure the following line are added after setting <code>MODULE_NAME</code>: | + | For this to work, in addition to invoke <code>cmake_minimum_required</code> at the top of the top-level <code>CMakeLists.txt</code>, it's important to make sure the following line are added after setting <code>MODULE_NAME</code>: |
<pre> | <pre> | ||
#----------------------------------------------------------------------------- | #----------------------------------------------------------------------------- | ||
Revision as of 09:02, 20 June 2012
Home < Documentation < 4.1 < Developers < Build ModuleThe different type of modules supported by Slicer can easily be build outside of the Slicer source tree.
The following examples are specific to unix-like platforms and can easily be adapted for Windows.
Assuming the source code of your module is located in folder MyModule, externally building modules could be achieved doing:
$ mkdir MyModule-build $ cd MyModule-build $ cmake -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild/Slicer-build ../MyModule $ make
For this to work, in addition to invoke cmake_minimum_required at the top of the top-level CMakeLists.txt, it's important to make sure the following line are added after setting MODULE_NAME:
#-----------------------------------------------------------------------------
if(NOT Slicer_SOURCE_DIR)
find_package(Slicer REQUIRED)
include(${Slicer_USE_FILE})
endif()
For example:
cmake_minimum_required(VERSION 2.8.7)
#-----------------------------------------------------------------------------
set(MODULE_NAME MyModule)
set(MODULE_TITLE ${MODULE_NAME})
string(TOUPPER ${MODULE_NAME} MODULE_NAME_UPPER)
#-----------------------------------------------------------------------------
if(NOT Slicer_SOURCE_DIR)
find_package(Slicer REQUIRED)
include(${Slicer_USE_FILE})
endif()
#-----------------------------------------------------------------------------
add_subdirectory(Logic)
#-----------------------------------------------------------------------------
set(MODULE_EXPORT_DIRECTIVE "Q_SLICER_QTMODULES_${MODULE_NAME_UPPER}_EXPORT")
[...]