Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 29 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,30 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
endif()

# Output Directories definition
set(ARCHIVE_OUTPUT_DIRECTORY lib)
set(RUNTIME_OUTPUT_DIRECTORY bin)
if(WIN32)
set(LIBRARY_OUTPUT_DIRECTORY ${RUNTIME_OUTPUT_DIRECTORY})
else()
set(LIBRARY_OUTPUT_DIRECTORY ${ARCHIVE_OUTPUT_DIRECTORY})
endif()

## Set the output directories globally
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBRARY_OUTPUT_DIRECTORY})
if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
endif()

if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
endif()

string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} )
string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )

if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
if(WIN32)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
else()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
endif()
endif()

string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} )



# Option for packaging
option(SOFA_BUILD_RELEASE_PACKAGE "Run package specific configure" OFF)
Expand Down Expand Up @@ -76,7 +88,7 @@ message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
# Remove generated CMake files, this prevents CMake from finding packages that
# were disabled (like, unchecked in cmake-gui) after being built once.
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/cmake)
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/lib/cmake)
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake)
# Remove generated SofaPython configuration files, to prevent SofaPython from
# adding paths to disabled plugins.
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/etc/sofa/python.d)
Expand All @@ -92,7 +104,7 @@ install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/macdeployqt.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/windeployqt.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindTinyXML2.cmake"
DESTINATION lib/cmake/Modules
DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Modules
COMPONENT headers
)

Expand All @@ -108,15 +120,15 @@ if(UNIX)

# see https://cmake.org/Wiki/CMake_RPATH_handling for $ORIGIN doc
set(CMAKE_INSTALL_RPATH
"$ORIGIN/../lib"
"$$ORIGIN/../lib"
"$ORIGIN/../${ARCHIVE_OUTPUT_DIRECTORY}"
"$$ORIGIN/../${ARCHIVE_OUTPUT_DIRECTORY}"
)

if(APPLE)
set(CMAKE_MACOSX_RPATH ON)
list(APPEND CMAKE_INSTALL_RPATH
"@loader_path/../lib"
"@executable_path/../lib"
"@loader_path/../${ARCHIVE_OUTPUT_DIRECTORY}"
"@executable_path/../${ARCHIVE_OUTPUT_DIRECTORY}"
"@loader_path/../../Frameworks"
"@executable_path/../../Frameworks"
)
Expand Down
10 changes: 5 additions & 5 deletions Sofa/framework/Config/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ project(Sofa.Config LANGUAGES CXX)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}/lib/cmake")
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake")

include(SofaMacros)

Expand Down Expand Up @@ -324,14 +324,14 @@ set_target_properties(${PROJECT_NAME} PROPERTIES SOFA_VERSION "${SOFA_VERSION}")
set_target_properties(${PROJECT_NAME} PROPERTIES SOFA_URL "${SOFA_URL}")

# CMakeParseLibraryList.cmake
configure_file(cmake/CMakeParseLibraryList.cmake ${CMAKE_BINARY_DIR}/lib/cmake/CMakeParseLibraryList.cmake COPYONLY)
install(FILES cmake/CMakeParseLibraryList.cmake DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT headers)
configure_file(cmake/CMakeParseLibraryList.cmake ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/CMakeParseLibraryList.cmake COPYONLY)
install(FILES cmake/CMakeParseLibraryList.cmake DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${PROJECT_NAME} COMPONENT headers)

# SofaMacros*.cmake
set(macro_files SofaMacros.cmake SofaMacrosConfigure.cmake SofaMacrosInstall.cmake SofaMacrosPython.cmake SofaMacrosUtils.cmake)
foreach(macro_file ${macro_files})
configure_file(cmake/${macro_file} ${CMAKE_BINARY_DIR}/lib/cmake/${macro_file} COPYONLY)
install(FILES cmake/${macro_file} DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT headers)
configure_file(cmake/${macro_file} ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${macro_file} COPYONLY)
install(FILES cmake/${macro_file} DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${PROJECT_NAME} COMPONENT headers)
endforeach()

sofa_create_package_with_targets(
Expand Down
4 changes: 2 additions & 2 deletions Sofa/framework/Config/Sofa.ConfigConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ set(Sofa_VERSION @Sofa_VERSION@)
set(SOFA_USE_DEPENDENCY_PACK @SOFA_USE_DEPENDENCY_PACK@)

# Setup CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, CMAKE_INCLUDE_PATH
string(REGEX REPLACE "/lib/cmake/?.*" "" SOFA_ROOT "${CMAKE_CURRENT_LIST_DIR}")
string(REGEX REPLACE "/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/?.*" "" SOFA_ROOT "${CMAKE_CURRENT_LIST_DIR}")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") # Needed to do: include(SofaMacros)
list(APPEND CMAKE_MODULE_PATH "${SOFA_ROOT}/lib/cmake/Modules") # Needed to do: find_package(Eigen3)
list(APPEND CMAKE_MODULE_PATH "${SOFA_ROOT}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Modules") # Needed to do: find_package(Eigen3)
if(SOFA_USE_DEPENDENCY_PACK)
list(APPEND CMAKE_INCLUDE_PATH "${SOFA_ROOT}/include/extlibs/WinDepPack") # Needed to do: #include <zlib.h>
endif()
Expand Down
69 changes: 33 additions & 36 deletions Sofa/framework/Config/cmake/SofaMacrosInstall.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,9 @@ endmacro()
# - ${CMAKE_BINARY_DIR}/cmake/FooConfig.cmake
# - ${CMAKE_BINARY_DIR}/cmake/FooConfigVersion.cmake
# - In the install tree:
# - lib/cmake/Foo/FooConfigVersion.cmake
# - lib/cmake/Foo/FooConfig.cmake
# - lib/cmake/Foo/FooTargets.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooConfigVersion.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooConfig.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooTargets.cmake
#
# This macro factorizes boilerplate CMake code for the different
# packages in Sofa. It assumes that there is a FooConfig.cmake.in
Expand Down Expand Up @@ -172,7 +172,7 @@ macro(sofa_create_package)
# by sofa_create_package_with_targets
# or sofa_create_component_in_package_with_targets
install(EXPORT ${ARG_PACKAGE_NAME}Targets
DESTINATION "lib/cmake/${package_install_dir}"
DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${package_install_dir}"
NAMESPACE "${package_namespace}"
COMPONENT headers)
endif()
Expand All @@ -186,23 +186,23 @@ macro(sofa_create_package)
)
if(ARG_RELOCATABLE)
string(CONCAT PACKAGE_GUARD ${PACKAGE_GUARD}
"list(APPEND CMAKE_LIBRARY_PATH \"\${CMAKE_CURRENT_LIST_DIR}/../../../bin\")" "\n"
"list(APPEND CMAKE_LIBRARY_PATH \"\${CMAKE_CURRENT_LIST_DIR}/../../../lib\")" "\n"
"list(APPEND CMAKE_LIBRARY_PATH \"\${CMAKE_CURRENT_LIST_DIR}/../../../${RUNTIME_OUTPUT_DIRECTORY}\")" "\n"
"list(APPEND CMAKE_LIBRARY_PATH \"\${CMAKE_CURRENT_LIST_DIR}/../../../${ARCHIVE_OUTPUT_DIRECTORY}\")" "\n"
)
endif()
string(CONCAT PACKAGE_GUARD ${PACKAGE_GUARD}
"################################################################"
)
configure_file("${CMAKE_CURRENT_BINARY_DIR}/${filename}" "${CMAKE_BINARY_DIR}/lib/cmake/${filename}" COPYONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${filename}" DESTINATION "lib/cmake/${package_install_dir}" COMPONENT headers)
configure_file("${CMAKE_CURRENT_BINARY_DIR}/${filename}" "${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${filename}" COPYONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${filename}" DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${package_install_dir}" COMPONENT headers)

# <package_name>Config.cmake
configure_package_config_file(
${ARG_PACKAGE_NAME}Config.cmake.in
"${CMAKE_BINARY_DIR}/lib/cmake/${ARG_PACKAGE_NAME}Config.cmake"
INSTALL_DESTINATION "lib/cmake/${package_install_dir}"
"${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${ARG_PACKAGE_NAME}Config.cmake"
INSTALL_DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${package_install_dir}"
)
install(FILES "${CMAKE_BINARY_DIR}/lib/cmake/${ARG_PACKAGE_NAME}Config.cmake" DESTINATION "lib/cmake/${package_install_dir}" COMPONENT headers)
install(FILES "${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${ARG_PACKAGE_NAME}Config.cmake" DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${package_install_dir}" COMPONENT headers)

if(ARG_RELOCATABLE)
sofa_set_project_install_relocatable(${package_install_dir} ${CMAKE_CURRENT_BINARY_DIR} ${ARG_RELOCATABLE})
Expand Down Expand Up @@ -542,29 +542,29 @@ macro(sofa_auto_set_target_rpath)
if(ARG_RELOCATABLE)
# current target is relocatable
list(APPEND target_rpath
"$ORIGIN/../../../${dep_reloc_install_dir}/lib"
"$$ORIGIN/../../../${dep_reloc_install_dir}/lib"
"@loader_path/../../../${dep_reloc_install_dir}/lib"
"@executable_path/../../../${dep_reloc_install_dir}/lib"
"$ORIGIN/../../../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"$$ORIGIN/../../../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"@loader_path/../../../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"@executable_path/../../../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
)
else()
# current target is NOT relocatable
list(APPEND target_rpath
"$ORIGIN/../${dep_reloc_install_dir}/lib"
"$$ORIGIN/../${dep_reloc_install_dir}/lib"
"@loader_path/../${dep_reloc_install_dir}/lib"
"@executable_path/../${dep_reloc_install_dir}/lib"
"$ORIGIN/../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"$$ORIGIN/../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"@loader_path/../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
"@executable_path/../${dep_reloc_install_dir}/${ARCHIVE_OUTPUT_DIRECTORY}"
)
endif()
else()
# the dependency is NOT relocatable
if(ARG_RELOCATABLE)
# current target is relocatable
list(APPEND target_rpath
"$ORIGIN/../../../lib"
"$$ORIGIN/../../../lib"
"@loader_path/../../../lib"
"@executable_path/../../../lib"
"$ORIGIN/../../../${ARCHIVE_OUTPUT_DIRECTORY}"
"$$ORIGIN/../../../${ARCHIVE_OUTPUT_DIRECTORY}"
"@loader_path/../../../${ARCHIVE_OUTPUT_DIRECTORY}"
"@executable_path/../../../${ARCHIVE_OUTPUT_DIRECTORY}"
)
endif()
endif()
Expand Down Expand Up @@ -601,9 +601,9 @@ macro(sofa_install_targets_in_package)

install(TARGETS ${ARG_TARGETS}
EXPORT ${ARG_PACKAGE_NAME}Targets
RUNTIME DESTINATION "bin" COMPONENT applications
LIBRARY DESTINATION "lib" COMPONENT libraries
ARCHIVE DESTINATION "lib" COMPONENT libraries
RUNTIME DESTINATION "${RUNTIME_OUTPUT_DIRECTORY}" COMPONENT applications
LIBRARY DESTINATION "${LIBRARY_OUTPUT_DIRECTORY}" COMPONENT libraries
ARCHIVE DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}" COMPONENT libraries
PUBLIC_HEADER DESTINATION "include/${ARG_INCLUDE_INSTALL_DIR}" COMPONENT headers

# [MacOS] install runSofa above the already populated runSofa.app (see CMAKE_INSTALL_PREFIX)
Expand Down Expand Up @@ -850,7 +850,7 @@ function(sofa_install_libraries)
get_target_property(is_framework ${target} FRAMEWORK)
if(APPLE AND is_framework)
get_filename_component(target_location ${target_location} DIRECTORY) # parent dir
install(DIRECTORY ${target_location} DESTINATION "lib" COMPONENT applications)
install(DIRECTORY ${target_location} DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}" COMPONENT applications)
else()
list(APPEND lib_paths "${target_location}")
endif()
Expand Down Expand Up @@ -903,12 +903,9 @@ function(sofa_install_libraries)
)

# Install the libs
if(WIN32)
install(FILES ${SHARED_LIBS} DESTINATION "bin" COMPONENT applications)
else()
install(FILES ${SHARED_LIBS} DESTINATION "lib" COMPONENT applications)
endif()
install(FILES ${STATIC_LIBS} DESTINATION "lib" COMPONENT libraries)

install(FILES ${SHARED_LIBS} DESTINATION "${LIBRARY_OUTPUT_DIRECTORY}" COMPONENT applications)
install(FILES ${STATIC_LIBS} DESTINATION "${ARCHIVE_OUTPUT_DIRECTORY}" COMPONENT libraries)

# Copy the libs (Windows only)
if(WIN32 AND NOT no_copy)
Expand Down Expand Up @@ -1107,9 +1104,9 @@ endfunction()
# - ${CMAKE_BINARY_DIR}/cmake/FooConfig.cmake
# - ${CMAKE_BINARY_DIR}/cmake/FooConfigVersion.cmake
# - In the install tree:
# - lib/cmake/Foo/FooConfigVersion.cmake
# - lib/cmake/Foo/FooConfig.cmake
# - lib/cmake/Foo/FooTargets.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooConfigVersion.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooConfig.cmake
# - ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Foo/FooTargets.cmake
#
# This macro factorizes boilerplate CMake code for the different
# packages in Sofa. It assumes that there is a FooConfig.cmake.in
Expand Down
9 changes: 7 additions & 2 deletions Sofa/framework/Helper/src/sofa/helper/config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#cmakedefine01 SOFA_HELPER_HAVE_BOOST_THREAD
#cmakedefine01 SOFA_HELPER_HAVE_BOOST_FILESYSTEM

// DEPRECATED since v21.06
// DEPRECATED since v21.06
// will be removed at v21.12
#define SOFAHELPER_HAVE_BOOST = @SOFA_HELPER_HAVE_BOOST@;
#define SOFAHELPER_HAVE_BOOST_THREAD = @SOFA_HELPER_HAVE_BOOST_THREAD@;
Expand All @@ -40,7 +40,12 @@
# define SOFA_HELPER_API SOFA_IMPORT_DYNAMIC_LIBRARY
#endif


namespace sofa::helper
{
static constexpr auto SOFAArchiveDir = "@ARCHIVE_OUTPUT_DIRECTORY@";
static constexpr auto SOFARuntimeDir = "@RUNTIME_OUTPUT_DIRECTORY@";
static constexpr auto SOFALibraryDir = "@LIBRARY_OUTPUT_DIRECTORY@";
}

#define SOFA_ATTRIBUTE_DISABLED__PLUGIN_GETCOMPONENTLIST() \
SOFA_ATTRIBUTE_DISABLED("v24.12", "v25.06", \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ FileRepository PluginRepository(
FileRepository PluginRepository(
"SOFA_PLUGIN_PATH",
{
Utils::getSofaPathTo("lib"),
Utils::getSofaPathTo("plugins"),
Utils::getSofaPathTo(SOFARuntimeDir),
Utils::getSofaPathTo(SOFAArchiveDir),
}
);
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,8 +505,8 @@ std::string PluginManager::findPlugin(const std::string& pluginName, const std::
const std::array<std::string, 4> paths = {
FileSystem::append(prefix, libName),
FileSystem::append(prefix, pluginName, libName),
FileSystem::append(prefix, pluginName, "bin", libName),
FileSystem::append(prefix, pluginName, "lib", libName)
FileSystem::append(prefix, pluginName, SOFAArchiveDir, libName),
FileSystem::append(prefix, pluginName, SOFARuntimeDir, libName)
};
for (const auto & path : paths) {
if (FileSystem::isFile(path)) {
Expand Down
6 changes: 3 additions & 3 deletions applications/plugins/CImgPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ sofa_find_package(Sofa.DefaultType REQUIRED)

# add FindCImg.cmake
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCImg.cmake ${CMAKE_BINARY_DIR}/lib/cmake/FindCImg.cmake COPYONLY)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCImg.cmake DESTINATION lib/cmake/${PROJECT_NAME} COMPONENT headers)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCImg.cmake ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY}/cmake/FindCImg.cmake COPYONLY)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCImg.cmake DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/${PROJECT_NAME} COMPONENT headers)

sofa_find_package(CImg QUIET)

Expand Down Expand Up @@ -118,7 +118,7 @@ sofa_create_package_with_targets(

install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindCImg.cmake"
DESTINATION lib/cmake/Modules
DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}/cmake/Modules
COMPONENT headers
)

Expand Down
6 changes: 3 additions & 3 deletions applications/plugins/Haption/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
install(TARGETS ${PROJECT_NAME}
COMPONENT Haption_libraries
EXPORT HaptionTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY}
LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}
ARCHIVE DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY})

install(DIRECTORY examples/ DESTINATION share/sofa/plugins/${PROJECT_NAME})
2 changes: 1 addition & 1 deletion applications/plugins/HeadlessRecorder/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${X11_LIBRARIES})
set(FFMPEG_EXEC_PATH "${FFMPEG_EXEC_FILE}") # FFMPEG_EXEC_FILE is set by FindFFMEG_exec.cmake
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/etc/${PROJECT_NAME}.ini.in "${CMAKE_BINARY_DIR}/etc/${PROJECT_NAME}.ini")
get_filename_component(FFMPEG_EXEC_FILENAME "${FFMPEG_EXEC_FILE}" NAME)
set(FFMPEG_EXEC_PATH "../bin/${FFMPEG_EXEC_FILENAME}") # relative path for install dir, see .ini file
set(FFMPEG_EXEC_PATH "../${RUNTIME_OUTPUT_DIRECTORY}/${FFMPEG_EXEC_FILENAME}") # relative path for install dir, see .ini file
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/etc/${PROJECT_NAME}.ini.in "${CMAKE_BINARY_DIR}/etc/installed${PROJECT_NAME}.ini")
install(FILES "${CMAKE_BINARY_DIR}/etc/installed${PROJECT_NAME}.ini" DESTINATION etc RENAME ${PROJECT_NAME}.ini COMPONENT applications)

Expand Down
6 changes: 3 additions & 3 deletions applications/plugins/PersistentContact/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
install(TARGETS ${PROJECT_NAME}
COMPONENT PersistentContact_libraries
EXPORT PersistentContactTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY}
LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}
ARCHIVE DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY}
PUBLIC_HEADER DESTINATION "include/${PROJECT_NAME}")

install(DIRECTORY examples/ DESTINATION share/sofa/plugins/${PROJECT_NAME})
6 changes: 3 additions & 3 deletions applications/plugins/Sensable/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ target_link_libraries(${PROJECT_NAME} SofaHaptics SofaOpenglVisual ${OPENHAPTICS
install(TARGETS ${PROJECT_NAME}
COMPONENT Sensable_libraries
EXPORT SensableTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY}
LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}
ARCHIVE DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY})

install(DIRECTORY examples/ DESTINATION share/sofa/plugins/${PROJECT_NAME})
6 changes: 3 additions & 3 deletions applications/plugins/Xitact/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
install(TARGETS ${PROJECT_NAME}
COMPONENT Xitact_libraries
EXPORT XitactTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY}
LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}
ARCHIVE DESTINATION ${ARCHIVE_OUTPUT_DIRECTORY})

install(DIRECTORY examples/ DESTINATION share/sofa/plugins/${PROJECT_NAME})
Loading
Loading