2012-09-08 02:50:37 +00:00
PROJECT ( fc )
CMAKE_MINIMUM_REQUIRED ( VERSION 2.8.0 )
SET ( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}" )
INCLUDE ( VersionMacros )
INCLUDE ( SetupTargetMacros )
SET ( DEFAULT_HEADER_INSTALL_DIR include/\ ${ target } )
SET ( DEFAULT_LIBRARY_INSTALL_DIR lib/ )
SET ( DEFAULT_EXECUTABLE_INSTALL_DIR bin/ )
SET ( CMAKE_DEBUG_POSTFIX _debug )
#SET( BUILD_SHARED_LIBS NO )
SET ( Boost_USE_STATIC_LIBS ON )
2012-09-08 02:57:00 +00:00
FIND_PACKAGE ( Boost 1.51 COMPONENTS thread date_time system filesystem program_options signals serialization chrono unit_test_framework context )
2012-09-08 02:50:37 +00:00
INCLUDE_DIRECTORIES ( ${ CMAKE_SOURCE_DIR } )
LINK_DIRECTORIES ( ${ Boost_LIBRARY_DIRS } )
IF ( WIN32 )
ADD_DEFINITIONS ( -DBOOST_CONTEXT_NO_LIB )
ADD_DEFINITIONS ( -D_SCL_SECURE_NO_WARNINGS )
ADD_DEFINITIONS ( -D_WIN32_WINNT=0x0501 )
ADD_DEFINITIONS ( -D_CRT_SECURE_NO_WARNINGS )
ELSE ( WIN32 )
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall" )
ENDIF ( WIN32 )
if ( UNIX )
if ( NOT APPLE )
set ( rt_library rt )
set ( pthread_library pthread )
endif ( )
endif ( )
option ( UNITY_BUILD OFF )
2012-11-09 05:41:57 +00:00
FIND_PACKAGE ( OpenSSL )
2012-12-30 23:14:27 +00:00
#FIND_PACKAGE( ZLIB )
2012-11-09 05:41:57 +00:00
2012-12-15 20:45:51 +00:00
include_directories ( vendor/zlib-1.2.7/ )
2012-12-19 17:26:41 +00:00
include_directories ( vendor/libssh2-1.4.2/include )
2012-09-08 02:50:37 +00:00
include_directories ( ${ Boost_INCLUDE_DIR } )
2012-10-29 20:19:17 +00:00
include_directories ( ${ OPENSSL_INCLUDE_DIR } )
2012-09-08 02:50:37 +00:00
include_directories ( include )
set ( sources
2013-02-05 04:08:48 +00:00
s r c / l o g g e r . c p p
2013-02-05 05:06:16 +00:00
s r c / c o n s o l e _ a p p e n d e r . c p p
s r c / f i l e _ a p p e n d e r . c p p
2013-02-05 04:08:48 +00:00
s r c / a p p e n d e r . c p p
s r c / l o g g e r _ c o n f i g . c p p
2012-11-01 04:23:06 +00:00
s r c / s s h . c p p
2012-12-15 15:26:03 +00:00
s r c / u r l . c p p
2012-10-26 05:03:47 +00:00
s r c / p r o c e s s . c p p
2012-10-24 04:54:03 +00:00
s r c / h t t p _ c o n n e c t i o n . c p p
2012-12-14 02:05:44 +00:00
s r c / h t t p _ s e r v e r . c p p
2012-10-26 05:03:47 +00:00
s r c / j s o n _ r p c _ c o n n e c t i o n . c p p
2012-10-29 23:50:49 +00:00
s r c / j s o n _ r p c _ s t r e a m _ c o n n e c t i o n . c p p
2012-11-06 04:34:58 +00:00
s r c / j s o n _ r p c _ t c p _ c o n n e c t i o n . c p p
s r c / j s o n _ r p c _ t c p _ s e r v e r . c p p
2012-11-12 03:04:24 +00:00
s r c / j s o n _ r p c _ e r r o r _ o b j e c t . c p p
2012-12-12 17:31:21 +00:00
s r c / e r r o r _ r e p o r t . c p p
2012-10-21 06:28:59 +00:00
s r c / v a l u e . c p p
s r c / l e x i c a l _ c a s t . c p p
2012-09-08 02:50:37 +00:00
s r c / s p i n _ l o c k . c p p
s r c / s p i n _ y i e l d _ l o c k . c p p
s r c / t a s k . c p p
s r c / f u t u r e . c p p
s r c / s h a r e d _ p t r . c p p
s r c / s t r i n g . c p p
s r c / j s o n . c p p
s r c / l o g . c p p
s r c / t i m e . c p p
2012-10-21 06:28:59 +00:00
s r c / i o s t r e a m . c p p
2012-11-15 17:37:56 +00:00
s r c / f s t r e a m . c p p
2012-10-21 06:28:59 +00:00
s r c / s s t r e a m . c p p
2012-09-08 02:50:37 +00:00
s r c / e x c e p t i o n . c p p
s r c / t h r e a d . c p p
2012-09-08 06:41:28 +00:00
s r c / h e x . c p p
s r c / s h a 1 . c p p
2012-09-08 21:37:25 +00:00
s r c / f i l e s y s t e m . c p p
s r c / i p . c p p
s r c / b i g i n t . c p p
s r c / m u t e x . c p p
2012-09-09 03:46:19 +00:00
s r c / p k e . c p p
s r c / b a s e 6 4 . c p p
2012-09-30 21:01:14 +00:00
s r c / b a s e 5 8 . c p p
2012-09-11 00:15:35 +00:00
s r c / b l o w f i s h . c p p
s r c / d h . c p p
2012-09-09 03:46:19 +00:00
s r c / u d p _ s o c k e t . c p p
2012-09-27 23:48:48 +00:00
s r c / t c p _ s o c k e t . c p p
2012-09-09 04:25:43 +00:00
s r c / a s i o . c p p
2012-09-11 00:15:35 +00:00
s r c / s u p e r _ f a s t _ h a s h . c p p
2012-09-18 03:04:42 +00:00
s r c / f i l e _ m a p p i n g . c p p
2013-02-07 21:08:43 +00:00
s r c / r e f l e c t . c p p
2012-10-21 06:28:59 +00:00
# src/program_options.cpp
2012-09-08 02:50:37 +00:00
)
2012-11-01 04:23:06 +00:00
2012-12-30 23:16:00 +00:00
add_subdirectory ( vendor )
2012-11-01 04:23:06 +00:00
2013-01-25 18:23:29 +00:00
#add_executable( date t.cpp )
#target_link_libraries( date fc ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_CHRONO_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${rt_library} ${Boost_DATE_TIME_LIBRARY})
2013-01-25 02:13:23 +00:00
2012-09-08 02:50:37 +00:00
setup_library ( fc SOURCES ${ sources } )
2012-12-30 23:14:27 +00:00
#setup_executable( json_rpc_test SOURCES tests/json_rpc_test.cpp LIBRARIES fc ${ZLIB_LIBRARY} ${pthread_library} ${rt_library} ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_CHRONO_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${rt_library} ${Boost_DATE_TIME_LIBRARY})
2013-03-01 23:56:06 +00:00
setup_executable ( ssh_test SOURCES tests/ssh.cpp LIBRARIES fc ${ pthread_library } ${ rt_library } ${ Boost_THREAD_LIBRARY } ${ Boost_CONTEXT_LIBRARY } ${ Boost_SYSTEM_LIBRARY } ${ Boost_CHRONO_LIBRARY } ${ Boost_FILESYSTEM_LIBRARY } ${ rt_library } ssh2 ${ OPENSSL_LIBRARY } ${ OPENSSL_CRYPTO_LIBRARY } ${ ZLIB_LIBRARY } ${ ALL_OPENSSL_LIBRARIES } ${ Boost_DATE_TIME_LIBRARY } )
2012-10-26 05:03:47 +00:00
2013-02-05 04:08:48 +00:00
setup_executable ( logger_test SOURCES tests/logger.cpp LIBRARIES fc ${ pthread_library } ${ rt_library } ${ Boost_THREAD_LIBRARY } ${ Boost_CONTEXT_LIBRARY } ${ Boost_SYSTEM_LIBRARY } ${ Boost_CHRONO_LIBRARY } ${ Boost_FILESYSTEM_LIBRARY } ${ rt_library } ssh2 ${ OPENSSL_LIBRARY } ${ OPENSSL_CRYPTO_LIBRARY } ${ ZLIB_LIBRARY } ${ ALL_OPENSSL_LIBRARIES } ${ Boost_DATE_TIME_LIBRARY } )
2012-09-08 02:57:00 +00:00
#add_executable( test_vec tests/vector_test.cpp )
#target_link_libraries( test_vec fc ${Boost_SYSTEM_LIBRARY} ${Boost_CHRONO_LIBRARY} ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} )
2012-09-08 02:50:37 +00:00
2012-09-08 06:41:28 +00:00
#add_executable( unit_tests tests/unit.cpp )
#target_link_libraries( unit_tests fc ${Boost_CHRONO_LIBRARY} ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} )