ENH: Configure location of plugin files so that the executable can run with any current working directory.
This commit is contained in:
parent
aabcf981e2
commit
c1a6e4dcc6
|
@ -11,6 +11,13 @@ SET(KWSYS_NAMESPACE kwsys)
|
|||
SET(KWSYS_HEADER_ROOT ${Plugin_BINARY_DIR}/include)
|
||||
SET(KWSYS_USE_DynamicLoader 1)
|
||||
ADD_SUBDIRECTORY(${Plugin_SOURCE_DIR}/../../Source/kwsys src/kwsys)
|
||||
|
||||
# Configure the location of plugins.
|
||||
CONFIGURE_FILE(${Plugin_SOURCE_DIR}/src/example_exe.h.in
|
||||
${Plugin_BINARY_DIR}/include/example_exe.h @ONLY)
|
||||
|
||||
# We need to include headers from the source tree and configured
|
||||
# headers in the build tree.
|
||||
INCLUDE_DIRECTORIES(
|
||||
${Plugin_BINARY_DIR}/include
|
||||
${Plugin_SOURCE_DIR}/include
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include <example.h>
|
||||
|
||||
#include <example_exe.h>
|
||||
|
||||
#include <kwsys/DynamicLoader.hxx>
|
||||
#include <kwsys/ios/iostream>
|
||||
#include <kwsys/stl/string>
|
||||
|
@ -21,7 +23,7 @@ extern "C" int example_exe_function()
|
|||
|
||||
int main()
|
||||
{
|
||||
kwsys_stl::string libName = "lib/plugin" CONFIG_DIR "/";
|
||||
kwsys_stl::string libName = EXAMPLE_EXE_PLUGIN_DIR CONFIG_DIR "/";
|
||||
libName += kwsys::DynamicLoader::LibPrefix();
|
||||
libName += "example_mod_1";
|
||||
libName += kwsys::DynamicLoader::LibExtension();
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef example_exe_h
|
||||
#define example_exe_h
|
||||
|
||||
#define EXAMPLE_EXE_PLUGIN_DIR "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@"
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue