X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=CMakeLists.txt;h=9c0e66a8b2d6a20c11e09b4235cf7945e858b474;hp=4e06722d3ed36974e756494435b2d02c2813fe37;hb=4430e7762844c66428b6f822288beb71b7f82b95;hpb=c7fcb4c4bc5012a584add81a9509fc1f84c3c688 diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e06722..9c0e66a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,10 +15,14 @@ src/messagelist.cpp src/option.cpp src/socketdefines.cpp src/stringfunctions.cpp +src/threadcontroller.cpp src/uuidgenerator.cpp src/db/sqlite3db.cpp src/db/sqlite3recordset.cpp src/db/sqlite3statement.cpp +src/freenet/boardlistinserter.cpp +src/freenet/boardlistrequester.cpp +src/freenet/boardlistxml.cpp src/freenet/fcpv2.cpp src/freenet/freenetmasterthread.cpp src/freenet/freenetssk.cpp @@ -29,7 +33,6 @@ src/freenet/identityintroductionxml.cpp src/freenet/identityrequester.cpp src/freenet/identityxml.cpp src/freenet/introductionpuzzleinserter.cpp -src/freenet/introductionpuzzleremover.cpp src/freenet/introductionpuzzlerequester.cpp src/freenet/introductionpuzzlexml.cpp src/freenet/messageinserter.cpp @@ -38,6 +41,7 @@ src/freenet/messagelistrequester.cpp src/freenet/messagelistxml.cpp src/freenet/messagerequester.cpp src/freenet/messagexml.cpp +src/freenet/periodicdbmaintenance.cpp src/freenet/trustlistinserter.cpp src/freenet/trustlistrequester.cpp src/freenet/trustlistxml.cpp @@ -46,6 +50,22 @@ src/freenet/captcha/simplecaptcha.cpp src/freenet/captcha/easybmp/EasyBMP.cpp src/freenet/captcha/easybmp/EasyBMP_Font.cpp src/freenet/captcha/easybmp/EasyBMP_Geometry.cpp +src/http/httpthread.cpp +src/http/identityexportxml.cpp +src/http/ipagehandler.cpp +src/http/pages/addpeerpage.cpp +src/http/pages/announceidentitypage.cpp +src/http/pages/boardspage.cpp +src/http/pages/controlboardpage.cpp +src/http/pages/createidentitypage.cpp +src/http/pages/execquerypage.cpp +src/http/pages/homepage.cpp +src/http/pages/localidentitiespage.cpp +src/http/pages/optionspage.cpp +src/http/pages/peerdetailspage.cpp +src/http/pages/peermaintenancepage.cpp +src/http/pages/peertrustpage.cpp +src/http/pages/showcaptchapage.cpp src/nntp/nntpconnection.cpp src/nntp/nntplistener.cpp src/nntp/uwildmat.cpp @@ -57,25 +77,56 @@ src/pthreadwrapper/guard.cpp src/pthreadwrapper/mutex.cpp src/pthreadwrapper/runnable.cpp src/pthreadwrapper/thread.cpp +src/pthreadwrapper/threadedexecutor.cpp src/xyssl/sha1.c ) +IF(WIN32) + SET(FMS_PLATFORM_SRC src/fmsservice.cpp) +ELSE(WIN32) + SET(FMS_PLATFORM_SRC src/fmsdaemon.cpp) +ENDIF(WIN32) + ADD_DEFINITIONS(-DTIXML_USE_STL) -IF(CMAKE_COMPILER_IS_GNUCXX) - ADD_DEFINITIONS(-fpermissive) -ENDIF(CMAKE_COMPILER_IS_GNUCXX) +# was for ZThreads +#IF(CMAKE_COMPILER_IS_GNUCXX) +# #ADD_DEFINITIONS(-fpermissive) +# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") +#ENDIF(CMAKE_COMPILER_IS_GNUCXX) + +ADD_EXECUTABLE(fms ${FMS_SRC} ${FMS_PLATFORM_SRC}) -ADD_EXECUTABLE(fms ${FMS_SRC}) +# link dl - For SQLite3 and shttpd - not for FreeBSD +IF(CMAKE_COMPILER_IS_GNUCC) + IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + ELSE(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + TARGET_LINK_LIBRARIES(fms dl) + ENDIF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") +ENDIF(CMAKE_COMPILER_IS_GNUCC) +# add -lcompat only for FreeBSD +IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + IF(CMAKE_COMPILER_IS_GNUCXX) + TARGET_LINK_LIBRARIES(fms compat) + ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDIF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + +# link ws2_32 for Windows IF(WIN32) TARGET_LINK_LIBRARIES(fms ws2_32) ENDIF(WIN32) +# add -lxnet and -lsocket on solaris +IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + TARGET_LINK_LIBRARIES(fms xnet) + TARGET_LINK_LIBRARIES(fms socket) +ENDIF(CMAKE_SYSTEM_NAME STREQUAL "SunOS") + FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3 sqlite3_s) FIND_LIBRARY(TINYXML_LIBRARY NAMES tinyxml tinyxml_s) -#FIND_LIBRARY(ZTHREADS_LIBRARY NAMES zthread ZThread zthread_s) FIND_LIBRARY(PTHREADS_LIBRARY NAMES pthread pthreads pthreadvc2) +FIND_LIBRARY(SHTTPD_LIBRARY NAMES shttpd) IF(SQLITE3_LIBRARY) TARGET_LINK_LIBRARIES(fms ${SQLITE3_LIBRARY}) @@ -95,14 +146,24 @@ ELSE(TINYXML_LIBRARY) INCLUDE_DIRECTORIES(libs/tinyxml) ENDIF(TINYXML_LIBRARY) -#IF(ZTHREADS_LIBRARY) -# TARGET_LINK_LIBRARIES(fms ${ZTHREADS_LIBRARY}) -#ELSE(ZTHREADS_LIBRARY) -# MESSAGE(FATAL_ERROR "Could not find ZThreads library. You must set the location manually.") -#ENDIF(ZTHREADS_LIBRARY) - IF(PTHREADS_LIBRARY) TARGET_LINK_LIBRARIES(fms ${PTHREADS_LIBRARY}) ELSE(PTHREADS_LIBRARY) MESSAGE(FATAL ERROR "Could not find pthreads library. You must set the location manually.") ENDIF(PTHREADS_LIBRARY) + +IF(SHTTPD_LIBRARY) + TARGET_LINK_LIBRARIES(fms ${SHTTPD_LIBRARY}) +ELSE(SHTTPD_LIBRARY) + MESSAGE(STATUS "Could not find shttpd library. Will compile from included source.") + ADD_DEFINITIONS(-DEMBEDDED) + INCLUDE_DIRECTORIES(libs/shttpd/include) + IF(WIN32) + ADD_DEFINITIONS(-DNO_GUI) + SET(SHTTPD_PLATFORM_SRC libs/shttpd/compat_win32.c) + ELSE(WIN32) + SET(SHTTPD_PLATFORM_SRC libs/shttpd/compat_unix.c) + ENDIF(WIN32) + ADD_LIBRARY(shttpd ${SHTTPD_PLATFORM_SRC} libs/shttpd/auth.c libs/shttpd/cgi.c libs/shttpd/config.c libs/shttpd/io_cgi.c libs/shttpd/io_dir.c libs/shttpd/io_emb.c libs/shttpd/io_file.c libs/shttpd/io_socket.c libs/shttpd/io_ssi.c libs/shttpd/io_ssl.c libs/shttpd/log.c libs/shttpd/md5.c libs/shttpd/mime_type.c libs/shttpd/shttpd.c libs/shttpd/string.c) + TARGET_LINK_LIBRARIES(fms shttpd) +ENDIF(SHTTPD_LIBRARY)