Skip to content

Commit

Permalink
Merge pull request #20 from synacker/bug/fix_build_for_distros
Browse files Browse the repository at this point in the history
Fixed install targets
  • Loading branch information
synacker committed Apr 5, 2020
2 parents 0fe379b + b91cb41 commit b8f78bf
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 21 deletions.
2 changes: 1 addition & 1 deletion cmake/conan.cmake
Expand Up @@ -6,7 +6,7 @@ if(NOT EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
)
endif()
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
conan_basic_setup(NO_OUTPUT_DIRS)
conan_define_targets()
conan_set_std()
conan_set_libcxx()
Expand Down
10 changes: 9 additions & 1 deletion conanfile.py
Expand Up @@ -67,6 +67,12 @@ def configure(self):
self.options["yaml-cpp"].shared = True
self.options["libssh2"].shared = True

def _libdir(self):
result = "lib"
if self.settings.arch == "x86_64":
result = "lib64"
return result

def _configure(self):
cmake = CMake(self)
cmake.definitions["SSH2_SUPPORT"] = self.options.ssh2_support
Expand All @@ -75,6 +81,7 @@ def _configure(self):
cmake.definitions["DAGGY_CORE_STATIC"] = self.options.daggy_core_static
cmake.definitions["VERSION"] = self.version
cmake.definitions["PACKAGE_DEPS"] = self.options.package_deps
cmake.definitions["CMAKE_INSTALL_LIBDIR"] = self._libdir()
cmake.configure()
return cmake

Expand All @@ -88,11 +95,12 @@ def package(self):

def package_info(self):
self.cpp_info.libs = ["DaggyCore"]
self.cpp_info.libdirs = [self._libdir()]

def imports(self):
if self.options.package_deps:
if self.settings.os == "Windows":
self.copy("*.dll", src="@bindirs", dst="bin")
self.copy("*.dll", src="@libdirs", dst="bin")
else:
self.copy("*.so.*", src="@libdirs", dst="lib/daggy_deps")
self.copy("*.so.*", src="@libdirs", dst="{}/daggy_deps".format(self._libdir()))
2 changes: 1 addition & 1 deletion src/Daggy/CMakeLists.txt
Expand Up @@ -36,4 +36,4 @@ add_executable(${TARGET} ${SOURCES})
target_link_libraries(${TARGET} DaggyCore)
include(precompiled)

install(TARGETS ${TARGET} DESTINATION bin)
install(TARGETS ${TARGET} RUNTIME)
16 changes: 8 additions & 8 deletions src/DaggyCore/CMakeLists.txt
Expand Up @@ -23,7 +23,7 @@ set(YAML_PUBLIC
CYamlDataSourcesConvertor.h
)

set(INCLUDE_HEADERS
set(INCLUDE_PUBLIC_HEADERS
CJsonDataSourcesConvertor.h
CYamlDataSourcesConvertor.h
CLocalDataProvider.h
Expand Down Expand Up @@ -97,23 +97,23 @@ else()
endif()
target_link_libraries(${TARGET} ${LINK_LIBRARIES})


include(precompiled)
include(GenerateExportHeader)
generate_export_header(${TARGET} EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/exports/daggycore_export.h)

if(UNIX)
if (DAGGY_CORE_STATIC)
install(TARGETS ${TARGET} DESTINATION lib COMPONENT devel)
install(TARGETS ${TARGET} LIBRARY COMPONENT devel)
else()
install(TARGETS ${TARGET} DESTINATION lib)
install(TARGETS ${TARGET} LIBRARY COMPONENT application)
install(TARGETS ${TARGET} LIBRARY COMPONENT devel)
endif()
else()
install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${TARGET}.lib DESTINATION lib COMPONENT devel)
install(TARGETS ${TARGET} ARCHIVE COMPONENT devel)
if (NOT DAGGY_CORE_STATIC)
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}.dll DESTINATION bin COMPONENT application)
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}.dll DESTINATION bin COMPONENT devel)
install(TARGETS ${TARGET} RUNTIME COMPONENT application)
install(TARGETS ${TARGET} RUNTIME COMPONENT devel)
endif()
endif()

install(FILES ${INCLUDE_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/${TARGET} COMPONENT devel)
install(FILES ${INCLUDE_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${TARGET} COMPONENT devel)
16 changes: 8 additions & 8 deletions src/cmake/compiler.cmake
@@ -1,16 +1,16 @@
set(CMAKE_CXX_STANDARD 17)
include(GNUInstallDirs)

set(INCLUDE_INSTALL_DIR include)
set(CMAKE_CXX_STANDARD 17)

file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
make_directory(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
make_directory(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})

set(CMAKE_BUILD_WITH_INSTALL_RPATH true)

if(UNIX)
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib;$ORIGIN/../lib/daggy_deps;$ORIGIN/daggy_deps")
set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR};$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/daggy_deps;$ORIGIN/daggy_deps")
endif()
4 changes: 2 additions & 2 deletions src/cmake/package_deps.cmake
Expand Up @@ -4,12 +4,12 @@ if(WIN32)
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Qt5Core.dll
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/libssh2.dll
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/yaml-cpp.dll
DESTINATION bin
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT deps
)
else()
install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/daggy_deps/
DESTINATION lib/daggy_deps
DESTINATION ${CMAKE_INSTALL_LIBDIR}/daggy_deps
COMPONENT deps
FILES_MATCHING
PATTERN libQt5Network.so*
Expand Down

0 comments on commit b8f78bf

Please sign in to comment.