diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b58fe16b224b2e7b2de4f0b05446a9097b6c6f9..4b8eaf66db47f188de03d32acc3f546b2cb9e94c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -127,6 +127,7 @@ endif() set(STAGE_DIR "${CMAKE_BINARY_DIR}/stage") set(EXECUTABLE_OUTPUT_PATH ${STAGE_DIR}/bin) set(HEADER_STAGE_PATH ${STAGE_DIR}/include) +set(LIBEXEC_STAGE_PATH ${STAGE_DIR}/libexec/openstructure) set(SHARED_DATA_PATH ${STAGE_DIR}/share/openstructure) include_directories("${HEADER_STAGE_PATH}") link_directories(${LIB_STAGE_PATH}) @@ -148,7 +149,8 @@ endif() file(MAKE_DIRECTORY ${STAGE_DIR} ${EXECUTABLE_OUTPUT_PATH} ${HEADER_STAGE_PATH} - ${LIB_STAGE_PATH}) + ${LIB_STAGE_PATH} + ${LIBEXEC_STAGE_PATH}) if (WIN32) # add_definitions(-DBOOST_TEST_INCLUDED) diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake index 82be3411f155a7c8a972b71cee34ecdd6d225879..1465229fc4389eefc96bff662434c698d55e6dca 100644 --- a/cmake_support/OST.cmake +++ b/cmake_support/OST.cmake @@ -332,14 +332,16 @@ macro(substitute) ${CMAKE_COMMAND} ${_SUBST_DICT} -P ${CMAKE_SOURCE_DIR}/cmake_support/substitute.cmake) endmacro() + #------------------------------------------------------------------------------- # Synopsis: # script(NAME script_name INPUT input_name SUBSTITUTE key=val key=val -# [TARGET target]) +# [OUTPUT_DIR dir] [TARGET target]) #------------------------------------------------------------------------------- macro(script) + set(_ARG_OUTPUT_DIR bin) parse_argument_list(_ARG - "NAME;INPUT;SUBSTITUTE;TARGET" "" ${ARGN}) + "NAME;INPUT;SUBSTITUTE;TARGET;OUTPUT_DIR" "" ${ARGN}) if (NOT _ARG_NAME) message(FATAL_ERROR "invalid use of executable(): a name must be provided") endif() @@ -354,10 +356,10 @@ macro(script) substitute(IN_FILE ${_INPUT} OUT_FILE ${_ARG_NAME} DICT ${_ARG_SUBSTITUTE}) endif() - install(FILES ${_ARG_NAME} DESTINATION bin + install(FILES ${_ARG_NAME} DESTINATION ${_ARG_OUTPUT_DIR} PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE WORLD_READ GROUP_READ OWNER_READ) - copy_if_different("./" "${EXECUTABLE_OUTPUT_PATH}" + copy_if_different("./" "${STAGE_DIR}/${_ARG_OUTPUT_DIR}" "${_ARG_NAME}" "TARGETS" ${_ARG_TARGET}) add_dependencies(${_ARG_TARGET} subst_${_ARG_NAME}) endmacro() diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index d78dacf8c6933dfa50222c01bae54336aa684187..18eb3244bbcd325f0a7cd4f8c53252e665fa0993 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -19,7 +19,7 @@ if(WIN32) script(NAME gipltng.bat INPUT gipltng.bat.in SUBSTITUTE ${SUBST_DICT}) else() script(NAME ost_config INPUT ost_config.in SUBSTITUTE ${SUBST_DICT} - TARGET ost_scripts) + TARGET ost_scripts OUTPUT_DIR libexec/openstructure) script(NAME ost INPUT ost.in SUBSTITUTE ${SUBST_DICT} TARGET ost_scripts) script(NAME dng INPUT dng.in SUBSTITUTE ${SUBST_DICT} diff --git a/scripts/dng.in b/scripts/dng.in index 529eaa71d0ecbca622f94071f0339f37a2d9e8b6..e78b6511fa811758e7d42babe69437d2f0e19fd2 100755 --- a/scripts/dng.in +++ b/scripts/dng.in @@ -26,6 +26,6 @@ else SCRIPT_NAME="$0" fi BIN_DIR=`dirname "$SCRIPT_NAME"` -source $BIN_DIR/ost_config +source $BIN_DIR/../libexec/openstructure/ost_config $DNG_BINDIR/gosty $DNG_INITDIR/init.py ost $opts diff --git a/scripts/ost.in b/scripts/ost.in index 6f715fda08bb58be5c61babaac2db23057b28071..3cf716f00d7e026ec9bbd92e7aa29bd6fa34d578 100755 --- a/scripts/ost.in +++ b/scripts/ost.in @@ -29,7 +29,7 @@ else fi BIN_DIR=`dirname "$SCRIPT_NAME"` -source $BIN_DIR/ost_config +source $BIN_DIR/../libexec/openstructure/ost_config $pyexec $interactive "$DNG_ROOT/@LIBDIR@/openstructure/init_cl.py" $opts RC=$?