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
e9ce5447
Commit
e9ce5447
authored
Jul 10, 2012
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added --disable-context-switching option
parent
37376c49
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
37 deletions
+50
-37
CMakeLists.txt
CMakeLists.txt
+27
-22
configure
configure
+23
-15
No files found.
CMakeLists.txt
View file @
e9ce5447
...
...
@@ -22,6 +22,10 @@ else ()
set
(
CMAKE_BUILD_TYPE RelWithDebInfo
)
endif
()
if
(
DISABLE_CONTEXT_SWITCHING
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
-DCPPA_DISABLE_CONTEXT_SWITCHING"
)
endif
()
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
MATCHES
"GNU"
)
execute_process
(
COMMAND
${
CMAKE_CXX_COMPILER
}
-dumpversion
OUTPUT_VARIABLE GCC_VERSION
)
...
...
@@ -91,32 +95,33 @@ set(LIBCPPA_SRC
set
(
boost_context third_party/boost_context
)
# add third party Boost.Context sources
if
(
CMAKE_SIZEOF_VOID_P EQUAL 4
)
if
(
APPLE
)
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_i386_sysv_macho_gas.S
)
else
()
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_i386_sysv_elf_gas.S
)
endif
()
elseif
(
CMAKE_SIZEOF_VOID_P EQUAL 8
)
if
(
APPLE
)
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_x86_64_sysv_macho_gas.S
)
# add third party Boost.Context sources if context-switching is enabled
if
(
NOT DISABLE_CONTEXT_SWITCHING
)
if
(
CMAKE_SIZEOF_VOID_P EQUAL 4
)
if
(
APPLE
)
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_i386_sysv_macho_gas.S
)
else
()
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_i386_sysv_elf_gas.S
)
endif
()
elseif
(
CMAKE_SIZEOF_VOID_P EQUAL 8
)
if
(
APPLE
)
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_x86_64_sysv_macho_gas.S
)
else
()
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_x86_64_sysv_elf_gas.S
)
endif
()
else
()
set
(
fcontext_asm
${
boost_context
}
/src/asm/fcontext_x86_64_sysv_elf_gas.S
)
message
(
FATAL_ERROR
"Unsupported platform (neither 32 nor 64 bit)"
)
endif
()
else
()
message
(
FATAL_ERROR
"Unsupported platform (neither 32 nor 64 bit)"
)
set_property
(
SOURCE
${
fcontext_asm
}
PROPERTY LANGUAGE CXX
)
set
(
LIBCPPA_SRC
${
LIBCPPA_SRC
}
${
fcontext_asm
}
${
boost_context
}
/src/stack_utils_posix.cpp
${
boost_context
}
/src/stack_allocator_posix.cpp
${
boost_context
}
/src/fcontext.cpp
)
endif
()
set_property
(
SOURCE
${
fcontext_asm
}
PROPERTY LANGUAGE CXX
)
set
(
LIBCPPA_SRC
${
LIBCPPA_SRC
}
${
fcontext_asm
}
${
boost_context
}
/src/stack_utils_posix.cpp
${
boost_context
}
/src/stack_allocator_posix.cpp
${
boost_context
}
/src/fcontext.cpp
)
find_package
(
Boost COMPONENTS thread REQUIRED
)
link_directories
(
${
Boost_LIBRARY_DIRS
}
)
...
...
configure
View file @
e9ce5447
...
...
@@ -17,28 +17,32 @@ usage="\
Usage:
$0
[OPTION]... [VAR=VALUE]...
Build Options:
--builddir=DIR place build files in directory [build]
--generator=GENERATOR CMake generator to use (see cmake --help)
--with-clang=FILE path to clang++ executable
--with-gcc=FILE path to g++ executable
--bin-dir=DIR executable directory [build/bin]
--lib-dir=DIR library directory [build/lib]
--dual-build build both with gcc and clang
--builddir=DIR
place build files in directory [build]
--generator=GENERATOR
CMake generator to use (see cmake --help)
--with-clang=FILE
path to clang++ executable
--with-gcc=FILE
path to g++ executable
--bin-dir=DIR
executable directory [build/bin]
--lib-dir=DIR
library directory [build/lib]
--dual-build
build both with gcc and clang
Installation Directories:
--prefix=PREFIX installation directory [/usr/local]
--prefix=PREFIX
installation directory [/usr/local]
Optional Features:
--enable-debug compile in debugging mode
--enable-perftools use Google perftools
--enable-debug compile in debugging mode
--enable-perftools use Google perftools
Platform-Dependent Adjustments:
--disable-context-switching compile libcppa without context-switching actors
on platforms where Boost.Context is not available
Required Packages in Non-Standard Locations:
--with-boost=PATH path to Boost install root
--with-boost=PATH
path to Boost install root
Influential Environment Variables (only on first invocation
per build directory):
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXX
C++ compiler command
CXXFLAGS
C++ compiler flags
"
...
...
@@ -111,8 +115,9 @@ configure ()
# Set defaults.
builddir
=
"
$sourcedir
/build"
CMakeCacheEntries
=
""
append_cache_entry CMAKE_INSTALL_PREFIX PATH /usr/local
append_cache_entry ENABLE_DEBUG BOOL
false
append_cache_entry CMAKE_INSTALL_PREFIX PATH /usr/local
append_cache_entry ENABLE_DEBUG BOOL
false
append_cache_entry DISABLE_CONTEXT_SWITCHING BOOL
false
# Parse arguments.
while
[
$#
-ne
0
]
;
do
...
...
@@ -138,6 +143,9 @@ while [ $# -ne 0 ]; do
--enable-debug
)
append_cache_entry ENABLE_DEBUG BOOL
true
;;
--disable-context-switching
)
append_cache_entry DISABLE_CONTEXT_SWITCHING BOOL
true
;;
--with-boost
=
*
)
append_cache_entry BOOST_ROOT PATH
$optarg
;;
...
...
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