X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=CMakeLists.txt;h=8c79cce630922b12ece09f0ad9c0ad11cf5cad75;hp=be285e20da89683b76bb58f9695defcac1392969;hb=37a8d59548287dcad78ef00e7b18058721eb9935;hpb=964f55fd550fc711c0320ce6a24ad713040695d0 diff --git a/CMakeLists.txt b/CMakeLists.txt index be285e2..8c79cce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,16 @@ 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/ipagehandler.cpp +src/http/pages/addpeerpage.cpp +src/http/pages/announceidentitypage.cpp +src/http/pages/createidentitypage.cpp +src/http/pages/homepage.cpp +src/http/pages/localidentitiespage.cpp +src/http/pages/optionspage.cpp +src/http/pages/peertrustpage.cpp +src/http/pages/showcaptchapage.cpp src/nntp/nntpconnection.cpp src/nntp/nntplistener.cpp src/nntp/uwildmat.cpp @@ -53,18 +63,27 @@ src/nntp/mime/Mime.cpp src/nntp/mime/MimeChar.cpp src/nntp/mime/MimeCode.cpp src/nntp/mime/MimeType.cpp +src/pthreadwrapper/guard.cpp +src/pthreadwrapper/mutex.cpp +src/pthreadwrapper/runnable.cpp +src/pthreadwrapper/thread.cpp src/xyssl/sha1.c ) ADD_DEFINITIONS(-DTIXML_USE_STL) -IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - ADD_DEFINITIONS(-fpermissive) -ENDIF(CMAKE_COMPILER_IS_GNUCC OR 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}) -INCLUDE_DIRECTORIES(libs/sqlite3 libs/tinyxml) +# For SQLite3 and shttpd +IF(CMAKE_COMPILER_IS_GNUCC) + TARGET_LINK_LIBRARIES(fms dl) +ENDIF(CMAKE_COMPILER_IS_GNUCC) IF(WIN32) TARGET_LINK_LIBRARIES(fms ws2_32) @@ -72,7 +91,8 @@ ENDIF(WIN32) 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}) @@ -80,8 +100,7 @@ ELSE(SQLITE3_LIBRARY) MESSAGE(STATUS "Could not find system SQLite library. Will compile from included source.") ADD_LIBRARY(sqlite3 libs/sqlite3/sqlite3.c) TARGET_LINK_LIBRARIES(fms sqlite3) -ADD_LIBRARY(tinyxml libs/tinyxml/tinystr.cpp libs/tinyxml/tinyxml.cpp libs/tinyxml/tinyxmlerror.cpp libs/tinyxml/tinyxmlparser.cpp) - + INCLUDE_DIRECTORIES(libs/sqlite3) ENDIF(SQLITE3_LIBRARY) IF(TINYXML_LIBRARY) @@ -90,10 +109,27 @@ ELSE(TINYXML_LIBRARY) MESSAGE(STATUS "Could not find system TinyXML library. Will compile from included source.") ADD_LIBRARY(tinyxml libs/tinyxml/tinystr.cpp libs/tinyxml/tinyxml.cpp libs/tinyxml/tinyxmlerror.cpp libs/tinyxml/tinyxmlparser.cpp) TARGET_LINK_LIBRARIES(fms tinyxml) + 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)