Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
Actor Framework
Commits
3dc4abf9
Commit
3dc4abf9
authored
Nov 13, 2019
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #897
parents
b91102ed
f52deca7
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
194 additions
and
166 deletions
+194
-166
CMakeLists.txt
CMakeLists.txt
+46
-28
Jenkinsfile
Jenkinsfile
+0
-8
cmake/CAFConfig.cmake.in
cmake/CAFConfig.cmake.in
+9
-0
cmake/FindCAF.cmake
cmake/FindCAF.cmake
+41
-2
configure
configure
+2
-6
libcaf_core/CMakeLists.txt
libcaf_core/CMakeLists.txt
+30
-37
libcaf_io/CMakeLists.txt
libcaf_io/CMakeLists.txt
+31
-35
libcaf_openssl/CMakeLists.txt
libcaf_openssl/CMakeLists.txt
+33
-47
libcaf_python/CMakeLists.txt
libcaf_python/CMakeLists.txt
+2
-3
No files found.
CMakeLists.txt
View file @
3dc4abf9
...
@@ -49,6 +49,29 @@ if(NOT CMAKE_CROSSCOMPILING)
...
@@ -49,6 +49,29 @@ if(NOT CMAKE_CROSSCOMPILING)
endif
()
endif
()
endif
()
endif
()
set
(
CAF_LINKAGE_DEFAULT_SHARED ON
)
if
(
WIN32
)
# Shared libs are currently not supported on Windows.
set
(
CAF_LINKAGE_DEFAULT_SHARED OFF
)
endif
()
option
(
BUILD_SHARED_LIBS
""
${
CAF_LINKAGE_DEFAULT_SHARED
}
)
if
(
DEFINED CAF_BUILD_STATIC OR DEFINED CAF_BUILD_STATIC_ONLY
)
if
(
CAF_BUILD_STATIC OR CAF_BUILD_STATIC_ONLY
)
set
(
BUILD_SHARED_LIBS OFF
)
else
()
set
(
BUILD_SHARED_LIBS ON
)
endif
()
endif
()
if
(
BUILD_SHARED_LIBS
)
set
(
LINK_TYPE
"shared"
)
else
()
set
(
LINK_TYPE
"static"
)
endif
()
set
(
CMAKE_INSTALL_CMAKEBASEDIR
"
${
CMAKE_INSTALL_LIBDIR
}
/cmake"
CACHE PATH
"Base directory for installing cmake specific artifacts"
)
set
(
INSTALL_CAF_CMAKEDIR
"
${
CMAKE_INSTALL_CMAKEBASEDIR
}
/caf"
)
# Be nice to VIM users and Clang tools.
# Be nice to VIM users and Clang tools.
set
(
CMAKE_EXPORT_COMPILE_COMMANDS 1
)
set
(
CMAKE_EXPORT_COMPILE_COMMANDS 1
)
...
@@ -57,12 +80,6 @@ if(APPLE AND NOT DEFINED CMAKE_MACOSX_RPATH)
...
@@ -57,12 +80,6 @@ if(APPLE AND NOT DEFINED CMAKE_MACOSX_RPATH)
set
(
CMAKE_MACOSX_RPATH true
)
set
(
CMAKE_MACOSX_RPATH true
)
endif
()
endif
()
# Shared libs are currently not supported on Windows.
if
(
WIN32 AND NOT CAF_BUILD_STATIC_ONLY
)
message
(
STATUS
"CAF currently only supports static-only builds on Windows"
)
set
(
CAF_BUILD_STATIC_ONLY yes
)
endif
()
if
(
CAF_BUILD_STATIC_RUNTIME
)
if
(
CAF_BUILD_STATIC_RUNTIME
)
set
(
flags_configs
set
(
flags_configs
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS
...
@@ -169,8 +186,6 @@ pretty_yes("CAF_FORCE_NO_EXCEPTIONS")
...
@@ -169,8 +186,6 @@ pretty_yes("CAF_FORCE_NO_EXCEPTIONS")
pretty_no
(
"CAF_ENABLE_RUNTIME_CHECKS"
)
pretty_no
(
"CAF_ENABLE_RUNTIME_CHECKS"
)
pretty_no
(
"CAF_NO_MEM_MANAGEMENT"
)
pretty_no
(
"CAF_NO_MEM_MANAGEMENT"
)
pretty_no
(
"CAF_NO_EXCEPTIONS"
)
pretty_no
(
"CAF_NO_EXCEPTIONS"
)
pretty_no
(
"CAF_BUILD_STATIC_ONLY"
)
pretty_no
(
"CAF_BUILD_STATIC"
)
pretty_no
(
"CAF_NO_OPENSSL"
)
pretty_no
(
"CAF_NO_OPENSSL"
)
pretty_no
(
"CAF_NO_PYTHON"
)
pretty_no
(
"CAF_NO_PYTHON"
)
pretty_no
(
"CAF_NO_TOOLS"
)
pretty_no
(
"CAF_NO_TOOLS"
)
...
@@ -332,8 +347,6 @@ if(MINGW)
...
@@ -332,8 +347,6 @@ if(MINGW)
build_string
(
"EXTRA_FLAGS"
"-static"
)
build_string
(
"EXTRA_FLAGS"
"-static"
)
elseif
(
CYGWIN
)
elseif
(
CYGWIN
)
build_string
(
"EXTRA_FLAGS"
"-U__STRICT_ANSI__"
)
build_string
(
"EXTRA_FLAGS"
"-U__STRICT_ANSI__"
)
else
()
build_string
(
"EXTRA_FLAGS"
"-fPIC"
)
endif
()
endif
()
if
(
WIN32
)
if
(
WIN32
)
list
(
APPEND CAF_EXTRA_LDFLAGS ws2_32 iphlpapi
)
list
(
APPEND CAF_EXTRA_LDFLAGS ws2_32 iphlpapi
)
...
@@ -444,26 +457,11 @@ include_directories("${LIBCAF_INCLUDE_DIRS}")
...
@@ -444,26 +457,11 @@ include_directories("${LIBCAF_INCLUDE_DIRS}")
################################################################################
################################################################################
macro
(
add_caf_lib name
)
macro
(
add_caf_lib name
)
string
(
TOUPPER
${
name
}
upper_name
)
set
(
full_name libcaf_
${
name
}
)
set
(
full_name libcaf_
${
name
}
)
set
(
shared_target
${
full_name
}
_shared
)
set
(
static_target
${
full_name
}
_static
)
add_subdirectory
(
${
full_name
}
)
add_subdirectory
(
${
full_name
}
)
set
(
lib_varname CAF_LIBRARY_
${
upper_name
}
)
set
(
lib_varname_static
${
lib_varname
}
_STATIC
)
if
(
NOT CAF_BUILD_STATIC_ONLY
)
set
(
${
lib_varname
}
${
shared_target
}
)
set
(
CAF_LIBRARIES
${
CAF_LIBRARIES
}
${
shared_target
}
)
else
()
set
(
${
lib_varname
}
${
static_target
}
)
set
(
CAF_LIBRARIES
${
CAF_LIBRARIES
}
${
static_target
}
)
endif
()
if
(
CAF_BUILD_STATIC_ONLY OR CAF_BUILD_STATIC
)
set
(
${
lib_varname_static
}
${
static_target
}
)
endif
()
add_unit_tests
(
"
${
full_name
}
/test/*.cpp"
)
add_unit_tests
(
"
${
full_name
}
/test/*.cpp"
)
# add headers to include directories so other subprojects can use them
# add headers to include directories so other subprojects can use them
include_directories
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/
libcaf_
${
name
}
"
)
include_directories
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
full_
name
}
"
)
endmacro
()
endmacro
()
macro
(
add_optional_caf_lib name
)
macro
(
add_optional_caf_lib name
)
...
@@ -554,6 +552,27 @@ add_optional_caf_binaries(examples)
...
@@ -554,6 +552,27 @@ add_optional_caf_binaries(examples)
# build tools if not being told otherwise
# build tools if not being told otherwise
add_optional_caf_binaries
(
tools
)
add_optional_caf_binaries
(
tools
)
export
(
EXPORT CAFTargets FILE CAFTargets.cmake NAMESPACE caf::
)
install
(
EXPORT CAFTargets
DESTINATION
"
${
INSTALL_CAF_CMAKEDIR
}
"
NAMESPACE caf::
)
include
(
CMakePackageConfigHelpers
)
write_basic_package_version_file
(
"
${
CMAKE_CURRENT_BINARY_DIR
}
/CAFConfigVersion.cmake"
VERSION
${
CAF_VERSION
}
COMPATIBILITY ExactVersion
)
configure_package_config_file
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/cmake/CAFConfig.cmake.in"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/CAFConfig.cmake"
INSTALL_DESTINATION
"
${
INSTALL_CAF_CMAKEDIR
}
"
)
install
(
FILES
"
${
CMAKE_CURRENT_BINARY_DIR
}
/CAFConfig.cmake"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/CAFConfigVersion.cmake"
DESTINATION
"
${
INSTALL_CAF_CMAKEDIR
}
"
)
################################################################################
################################################################################
# unit tests setup #
# unit tests setup #
################################################################################
################################################################################
...
@@ -652,8 +671,7 @@ if(NOT CAF_NO_SUMMARY)
...
@@ -652,8 +671,7 @@ if(NOT CAF_NO_SUMMARY)
"
\n
CAF version:
${
CAF_VERSION
}
"
"
\n
CAF version:
${
CAF_VERSION
}
"
"
\n
"
"
\n
"
"
\n
Build type:
${
CMAKE_BUILD_TYPE
}
"
"
\n
Build type:
${
CMAKE_BUILD_TYPE
}
"
"
\n
Build static:
${
CAF_BUILD_STATIC
}
"
"
\n
Link type:
${
LINK_TYPE
}
"
"
\n
Build static only:
${
CAF_BUILD_STATIC_ONLY
}
"
"
\n
Build static runtime:
${
CAF_BUILD_STATIC_RUNTIME
}
"
"
\n
Build static runtime:
${
CAF_BUILD_STATIC_RUNTIME
}
"
"
\n
Runtime checks:
${
CAF_ENABLE_RUNTIME_CHECKS
}
"
"
\n
Runtime checks:
${
CAF_ENABLE_RUNTIME_CHECKS
}
"
"
\n
Log level:
${
CAF_LOG_LEVEL
}
"
"
\n
Log level:
${
CAF_LOG_LEVEL
}
"
...
...
Jenkinsfile
View file @
3dc4abf9
...
@@ -98,14 +98,6 @@ config = [
...
@@ -98,14 +98,6 @@ config = [
'OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include'
,
'OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include'
,
],
],
],
],
Windows:
[
debug:
defaultDebugBuildFlags
+
[
'CAF_BUILD_STATIC_ONLY:BOOL=yes'
,
],
release:
defaultReleaseBuildFlags
+
[
'CAF_BUILD_STATIC_ONLY:BOOL=yes'
,
],
],
],
],
// Configures what binary the coverage report uses and what paths to exclude.
// Configures what binary the coverage report uses and what paths to exclude.
coverage:
[
coverage:
[
...
...
cmake/CAFConfig.cmake.in
0 → 100644
View file @
3dc4abf9
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_dependency(Threads)
include("${CMAKE_CURRENT_LIST_DIR}/CAFTargets.cmake")
cmake/FindCAF.cmake
View file @
3dc4abf9
...
@@ -71,7 +71,7 @@ foreach (comp ${CAF_FIND_COMPONENTS})
...
@@ -71,7 +71,7 @@ foreach (comp ${CAF_FIND_COMPONENTS})
message
(
WARNING
"Found all.hpp for CAF core, but not build_config.hpp"
)
message
(
WARNING
"Found all.hpp for CAF core, but not build_config.hpp"
)
set
(
CAF_
${
comp
}
_FOUND false
)
set
(
CAF_
${
comp
}
_FOUND false
)
else
()
else
()
list
(
APPEND CAF_INCLUDE_DIR
S
"
${
caf_build_header_path
}
"
)
list
(
APPEND CAF_INCLUDE_DIR
_
${
UPPERCOMP
}
"
${
caf_build_header_path
}
"
)
endif
()
endif
()
endif
()
endif
()
list
(
APPEND CAF_INCLUDE_DIRS
"
${
CAF_INCLUDE_DIR_
${
UPPERCOMP
}}
"
)
list
(
APPEND CAF_INCLUDE_DIRS
"
${
CAF_INCLUDE_DIR_
${
UPPERCOMP
}}
"
)
...
@@ -84,7 +84,6 @@ foreach (comp ${CAF_FIND_COMPONENTS})
...
@@ -84,7 +84,6 @@ foreach (comp ${CAF_FIND_COMPONENTS})
find_library
(
CAF_LIBRARY_
${
UPPERCOMP
}
find_library
(
CAF_LIBRARY_
${
UPPERCOMP
}
NAMES
NAMES
"caf_
${
comp
}
"
"caf_
${
comp
}
"
"caf_
${
comp
}
_static"
HINTS
HINTS
${
library_hints
}
${
library_hints
}
/usr/lib
/usr/lib
...
@@ -120,3 +119,43 @@ mark_as_advanced(CAF_ROOT_DIR
...
@@ -120,3 +119,43 @@ mark_as_advanced(CAF_ROOT_DIR
CAF_LIBRARIES
CAF_LIBRARIES
CAF_INCLUDE_DIRS
)
CAF_INCLUDE_DIRS
)
if
(
CAF_core_FOUND AND NOT TARGET caf::core
)
add_library
(
caf::core UNKNOWN IMPORTED
)
set_target_properties
(
caf::core PROPERTIES
IMPORTED_LOCATION
"
${
CAF_LIBRARY_CORE
}
"
INTERFACE_INCLUDE_DIRECTORIES
"
${
CAF_INCLUDE_DIR_CORE
}
"
)
endif
()
if
(
CAF_io_FOUND AND NOT TARGET caf::io
)
add_library
(
caf::io UNKNOWN IMPORTED
)
set_target_properties
(
caf::io PROPERTIES
IMPORTED_LOCATION
"
${
CAF_LIBRARY_IO
}
"
INTERFACE_INCLUDE_DIRECTORIES
"
${
CAF_INCLUDE_DIR_IO
}
"
INTERFACE_LINK_LIBRARIES
"caf::core"
)
endif
()
if
(
CAF_openssl_FOUND AND NOT TARGET caf::openssl
)
add_library
(
caf::openssl UNKNOWN IMPORTED
)
set_target_properties
(
caf::openssl PROPERTIES
IMPORTED_LOCATION
"
${
CAF_LIBRARY_OPENSSL
}
"
INTERFACE_INCLUDE_DIRECTORIES
"
${
CAF_INCLUDE_DIR_OPENSSL
}
"
INTERFACE_LINK_LIBRARIES
"caf::core;caf::io"
)
if
(
NOT BUILD_SHARED_LIBS
)
include
(
CMakeFindDependencyMacro
)
set
(
OPENSSL_USE_STATIC_LIBS TRUE
)
find_dependency
(
OpenSSL
)
set_property
(
TARGET caf::openssl APPEND PROPERTY
INTERFACE_LINK_LIBRARIES
"OpenSSL::SSL"
)
endif
()
endif
()
if
(
CAF_opencl_FOUND AND NOT TARGET caf::opencl
)
add_library
(
caf::opencl UNKNOWN IMPORTED
)
set_target_properties
(
caf::opencl PROPERTIES
IMPORTED_LOCATION
"
${
CAF_LIBRARY_OPENCL
}
"
INTERFACE_INCLUDE_DIRECTORIES
"
${
CAF_INCLUDE_DIR_OPENCL
}
"
INTERFACE_LINK_LIBRARIES
"caf::core"
)
endif
()
if
(
CAF_test_FOUND AND NOT TARGET caf::test
)
add_library
(
caf::test INTERFACE IMPORTED
)
set_target_properties
(
caf::test PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
"
${
CAF_INCLUDE_DIR_TEST
}
"
INTERFACE_LINK_LIBRARIES
"caf::core"
)
endif
()
configure
View file @
3dc4abf9
...
@@ -34,8 +34,7 @@ Usage: $0 [OPTION]... [VAR=VALUE]...
...
@@ -34,8 +34,7 @@ Usage: $0 [OPTION]... [VAR=VALUE]...
--with-qt-prefix=PATH prefix path for Qt5 cmake modules
--with-qt-prefix=PATH prefix path for Qt5 cmake modules
--with-openssl=PATH path to OpenSSL library and headers
--with-openssl=PATH path to OpenSSL library and headers
--dual-build build using both gcc and clang
--dual-build build using both gcc and clang
--build-static build as static and shared library
--build-static build as static library
--build-static-only build as static library only
--static-runtime build with static C++ runtime
--static-runtime build with static C++ runtime
--more-warnings enables most warnings
--more-warnings enables most warnings
--no-compiler-check disable compiler version check
--no-compiler-check disable compiler version check
...
@@ -340,10 +339,7 @@ while [ $# -ne 0 ]; do
...
@@ -340,10 +339,7 @@ while [ $# -ne 0 ]; do
append_cache_entry CAF_NO_OPENSSL BOOL
yes
append_cache_entry CAF_NO_OPENSSL BOOL
yes
;;
;;
--build-static
)
--build-static
)
append_cache_entry CAF_BUILD_STATIC BOOL
yes
append_cache_entry BUILD_SHARED_LIBS BOOL no
;;
--build-static-only
)
append_cache_entry CAF_BUILD_STATIC_ONLY BOOL
yes
;;
;;
--static-runtime
)
--static-runtime
)
append_cache_entry CAF_BUILD_STATIC_RUNTIME BOOL
yes
append_cache_entry CAF_BUILD_STATIC_RUNTIME BOOL
yes
...
...
libcaf_core/CMakeLists.txt
View file @
3dc4abf9
...
@@ -167,45 +167,38 @@ list(APPEND LIBCAF_CORE_HDRS
...
@@ -167,45 +167,38 @@ list(APPEND LIBCAF_CORE_HDRS
"
${
CMAKE_CURRENT_BINARY_DIR
}
/caf/detail/build_config.hpp"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/caf/detail/build_config.hpp"
)
)
add_custom_target
(
libcaf_core
)
add_library
(
libcaf_core
${
LIBCAF_CORE_SRCS
}
${
LIBCAF_CORE_HDRS
}
)
target_link_libraries
(
libcaf_core PUBLIC
${
CAF_EXTRA_LDFLAGS
}
)
# build shared library if not compiling static only
target_include_directories
(
libcaf_core PUBLIC
if
(
NOT CAF_BUILD_STATIC_ONLY
)
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_BINARY_DIR
}
>
add_library
(
libcaf_core_shared SHARED
${
LIBCAF_CORE_SRCS
}
${
LIBCAF_CORE_HDRS
}
)
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
target_link_libraries
(
libcaf_core_shared
${
CAF_EXTRA_LDFLAGS
}
)
$<INSTALL_INTERFACE:include>
target_include_directories
(
libcaf_core_shared PUBLIC
)
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_BINARY_DIR
}
>
set_target_properties
(
libcaf_core
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
PROPERTIES
$<INSTALL_INTERFACE:include>
EXPORT_NAME core
)
SOVERSION
${
CAF_VERSION
}
set_target_properties
(
libcaf_core_shared
VERSION
${
CAF_LIB_VERSION
}
PROPERTIES
OUTPUT_NAME caf_core
SOVERSION
${
CAF_VERSION
}
)
VERSION
${
CAF_LIB_VERSION
}
OUTPUT_NAME caf_core
)
install
(
TARGETS libcaf_core_shared
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
add_dependencies
(
libcaf_core_shared libcaf_core
)
endif
()
# build static library only if --build-static or --build-static-only was set
if
(
CAF_BUILD_STATIC_ONLY OR CAF_BUILD_STATIC
)
add_library
(
libcaf_core_static STATIC
${
LIBCAF_CORE_HDRS
}
${
LIBCAF_CORE_SRCS
}
)
target_link_libraries
(
libcaf_core_static
${
CAF_EXTRA_LDFLAGS
}
)
target_include_directories
(
libcaf_core_static PUBLIC
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_BINARY_DIR
}
>
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
$<INSTALL_INTERFACE:include>
)
set_target_properties
(
libcaf_core_static PROPERTIES OUTPUT_NAME caf_core_static
)
install
(
TARGETS libcaf_core_static ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
add_dependencies
(
libcaf_core_static libcaf_core
)
endif
()
install
(
TARGETS libcaf_core
EXPORT CAFTargets
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT core
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
COMPONENT core
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT core
)
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/caf"
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/caf"
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
COMPONENT core
FILES_MATCHING PATTERN
"*.hpp"
FILES_MATCHING PATTERN
"*.hpp"
)
)
add_library
(
caf::core ALIAS libcaf_core
)
if
(
BUILD_SHARED_LIBS
)
add_library
(
libcaf_core_shared ALIAS libcaf_core
)
else
()
add_library
(
libcaf_core_static ALIAS libcaf_core
)
endif
()
list
(
APPEND CAF_LIBRARIES libcaf_core
)
set
(
CAF_LIBRARIES
${
CAF_LIBRARIES
}
PARENT_SCOPE
)
libcaf_io/CMakeLists.txt
View file @
3dc4abf9
...
@@ -51,41 +51,37 @@ set(LIBCAF_IO_SRCS
...
@@ -51,41 +51,37 @@ set(LIBCAF_IO_SRCS
src/policy/udp.cpp
src/policy/udp.cpp
)
)
add_custom_target
(
libcaf_io
)
add_library
(
libcaf_io
${
LIBCAF_IO_SRCS
}
${
LIBCAF_IO_HDRS
}
)
target_link_libraries
(
libcaf_io PUBLIC caf::core
)
target_include_directories
(
libcaf_io PUBLIC
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
$<INSTALL_INTERFACE:include>
)
set_target_properties
(
libcaf_io
PROPERTIES
EXPORT_NAME io
SOVERSION
${
CAF_VERSION
}
VERSION
${
CAF_LIB_VERSION
}
OUTPUT_NAME caf_io
)
# build shared library if not compiling static only
install
(
TARGETS libcaf_io
if
(
NOT CAF_BUILD_STATIC_ONLY
)
EXPORT CAFTargets
add_library
(
libcaf_io_shared SHARED
${
LIBCAF_IO_SRCS
}
${
LIBCAF_IO_HDRS
}
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT io
target_link_libraries
(
libcaf_io_shared
${
CAF_EXTRA_LDFLAGS
}
${
CAF_LIBRARY_CORE
}
)
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT io
target_include_directories
(
libcaf_io_shared PUBLIC
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
COMPONENT io
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
)
$<INSTALL_INTERFACE:include>
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/caf"
)
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
set_target_properties
(
libcaf_io_shared
COMPONENT io
PROPERTIES
FILES_MATCHING PATTERN
"*.hpp"
SOVERSION
${
CAF_VERSION
}
)
VERSION
${
CAF_LIB_VERSION
}
OUTPUT_NAME caf_io
)
install
(
TARGETS libcaf_io_shared
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
add_dependencies
(
libcaf_io_shared libcaf_io
)
endif
()
# build static library only if --build-static or --build-static-only was set
add_library
(
caf::io ALIAS libcaf_io
)
if
(
CAF_BUILD_STATIC_ONLY OR CAF_BUILD_STATIC
)
if
(
BUILD_SHARED_LIBS
)
add_library
(
libcaf_io_static STATIC
${
LIBCAF_IO_HDRS
}
${
LIBCAF_IO_SRCS
}
)
add_library
(
libcaf_io_shared ALIAS libcaf_io
)
target_link_libraries
(
libcaf_io_static
${
CAF_EXTRA_LDFLAGS
}
${
CAF_LIBRARY_CORE_STATIC
}
)
else
()
target_include_directories
(
libcaf_io_static PUBLIC
add_library
(
libcaf_io_static ALIAS libcaf_io
)
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
$<INSTALL_INTERFACE:include>
)
set_target_properties
(
libcaf_io_static PROPERTIES OUTPUT_NAME caf_io_static
)
install
(
TARGETS libcaf_io_static ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
add_dependencies
(
libcaf_io_static libcaf_io
)
endif
()
endif
()
list
(
APPEND CAF_LIBRARIES libcaf_io
)
# install includes
set
(
CAF_LIBRARIES
${
CAF_LIBRARIES
}
PARENT_SCOPE
)
install
(
DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/caf
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
FILES_MATCHING PATTERN
"*.hpp"
)
libcaf_openssl/CMakeLists.txt
View file @
3dc4abf9
...
@@ -13,54 +13,40 @@ set(LIBCAF_OPENSSL_SRCS
...
@@ -13,54 +13,40 @@ set(LIBCAF_OPENSSL_SRCS
src/openssl/session.cpp
src/openssl/session.cpp
)
)
add_
custom_target
(
libcaf_openssl
)
add_
library
(
libcaf_openssl
${
LIBCAF_OPENSSL_SRCS
}
${
LIBCAF_OPENSSL_HDRS
}
)
target_link_libraries
(
libcaf_openssl PUBLIC caf::core caf::io
${
OPENSSL_LIBRARIES
}
)
if
(
MINGW
)
if
(
NOT APPLE AND NOT WIN32
)
set
(
OPENSSL_LIBRARIES
${
OPENSSL_LIBRARIES
}
-lz
)
target_link_libraries
(
libcaf_openssl PUBLIC
"-pthread"
)
endif
()
endif
()
# build shared library if not compiling static only
target_include_directories
(
libcaf_openssl PUBLIC
if
(
NOT CAF_BUILD_STATIC_ONLY
)
$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
>
add_library
(
libcaf_openssl_shared SHARED
$<INSTALL_INTERFACE:include>
${
LIBCAF_OPENSSL_SRCS
}
${
LIBCAF_OPENSSL_HDRS
}
)
)
target_link_libraries
(
libcaf_openssl_shared
${
CAF_EXTRA_LDFLAGS
}
set_target_properties
(
libcaf_openssl
${
CAF_LIBRARY_CORE
}
${
CAF_LIBRARY_IO
}
${
OPENSSL_LIBRARIES
}
)
PROPERTIES
EXPORT_NAME openssl
if
(
NOT APPLE AND NOT WIN32
)
SOVERSION
${
CAF_VERSION
}
target_link_libraries
(
libcaf_openssl_shared
"-pthread"
)
VERSION
${
CAF_LIB_VERSION
}
endif
()
OUTPUT_NAME caf_openssl
)
set_target_properties
(
libcaf_openssl_shared
install
(
TARGETS libcaf_openssl
PROPERTIES
EXPORT CAFTargets
SOVERSION
${
CAF_VERSION
}
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT openssl
VERSION
${
CAF_LIB_VERSION
}
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
COMPONENT openssl
OUTPUT_NAME caf_openssl
)
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
COMPONENT openssl
if
(
CYGWIN
)
)
install
(
TARGETS libcaf_openssl_shared RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
install
(
DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/caf"
elseif
(
NOT WIN32
)
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
install
(
TARGETS libcaf_openssl_shared LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
COMPONENT openssl
endif
()
FILES_MATCHING PATTERN
"*.hpp"
add_dependencies
(
libcaf_openssl_shared libcaf_openssl
)
)
endif
()
# build static library only if --build-static or --build-static-only was set
add_library
(
caf::openssl ALIAS libcaf_openssl
)
if
(
CAF_BUILD_STATIC_ONLY OR CAF_BUILD_STATIC
)
if
(
BUILD_SHARED_LIBS
)
add_library
(
libcaf_openssl_static STATIC
add_library
(
libcaf_openssl_shared ALIAS libcaf_openssl
)
${
LIBCAF_OPENSSL_HDRS
}
${
LIBCAF_OPENSSL_SRCS
}
)
else
()
target_link_libraries
(
libcaf_openssl_static
${
CAF_EXTRA_LDFLAGS
}
add_library
(
libcaf_openssl_static ALIAS libcaf_openssl
)
${
CAF_LIBRARY_CORE_STATIC
}
${
CAF_LIBRARY_IO_STATIC
}
${
OPENSSL_LIBRARIES
}
)
set_target_properties
(
libcaf_openssl_static PROPERTIES
OUTPUT_NAME caf_openssl_static
)
if
(
NOT WIN32
)
install
(
TARGETS libcaf_openssl_static ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
endif
()
add_dependencies
(
libcaf_openssl_static libcaf_openssl
)
endif
()
endif
()
list
(
APPEND CAF_LIBRARIES libcaf_openssl
)
link_directories
(
${
LD_DIRS
}
)
set
(
CAF_LIBRARIES
${
CAF_LIBRARIES
}
PARENT_SCOPE
)
include_directories
(
.
${
INCLUDE_DIRS
}
)
# install includes
if
(
NOT WIN32
)
install
(
DIRECTORY caf/ DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/caf FILES_MATCHING PATTERN
"*.hpp"
)
endif
()
libcaf_python/CMakeLists.txt
View file @
3dc4abf9
cmake_minimum_required
(
VERSION 2.8
)
cmake_minimum_required
(
VERSION 2.8
.12
)
project
(
caf_cash CXX
)
project
(
caf_cash CXX
)
# check whether submodules are available
# check whether submodules are available
...
@@ -47,8 +47,7 @@ if(NOT CAF_NO_PYTHON)
...
@@ -47,8 +47,7 @@ if(NOT CAF_NO_PYTHON)
add_executable
(
caf-python
${
CAF_PYTHON_SRCS
}
${
CAF_PYTHON_HDRS
}
)
add_executable
(
caf-python
${
CAF_PYTHON_SRCS
}
${
CAF_PYTHON_HDRS
}
)
target_link_libraries
(
caf-python
target_link_libraries
(
caf-python
${
CAF_EXTRA_LDFLAGS
}
${
CAF_EXTRA_LDFLAGS
}
${
CAF_LIBRARY_CORE
}
caf::core caf::io
${
CAF_LIBRARY_IO
}
${
CAF_LIBRARY_RIAC
}
${
CAF_LIBRARY_RIAC
}
${
PTHREAD_LIBRARIES
}
${
PTHREAD_LIBRARIES
}
${
LIBEDIT_LIBRARIES
}
${
LIBEDIT_LIBRARIES
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment