# Examples # Common libraries to link for examples. set(EXAMPLE_LIBS webcc Boost::filesystem Boost::system Boost::date_time "${CMAKE_THREAD_LIBS_INIT}") if(WEBCC_ENABLE_SSL) set(EXAMPLE_LIBS ${EXAMPLE_LIBS} ${OPENSSL_LIBRARIES}) if(WIN32) set(EXAMPLE_LIBS ${EXAMPLE_LIBS} crypt32) endif() endif() if(WEBCC_ENABLE_GZIP) if(WIN32) set(EXAMPLE_LIBS ${EXAMPLE_LIBS} zlibstatic) else() set(EXAMPLE_LIBS ${EXAMPLE_LIBS} ${ZLIB_LIBRARIES}) endif() endif() if(UNIX) # Add `-ldl` for Linux to avoid "undefined reference to `dlopen'". set(EXAMPLE_LIBS ${EXAMPLE_LIBS} ${CMAKE_DL_LIBS}) endif() set(REST_BOOK_SRCS common/book.cc common/book.h common/book_json.cc common/book_json.h ) add_executable(client_basics client_basics.cc) target_link_libraries(client_basics ${EXAMPLE_LIBS}) if(WEBCC_ENABLE_SSL) add_executable(github_client github_client.cc) target_link_libraries(github_client ${EXAMPLE_LIBS} jsoncpp) endif() add_executable(hello_world_server hello_world_server.cc) target_link_libraries(hello_world_server ${EXAMPLE_LIBS}) add_executable(rest_book_server rest_book_server.cc ${REST_BOOK_SRCS}) target_link_libraries(rest_book_server ${EXAMPLE_LIBS} jsoncpp) add_executable(rest_book_client rest_book_client.cc ${REST_BOOK_SRCS}) target_link_libraries(rest_book_client ${EXAMPLE_LIBS} jsoncpp) add_executable(file_server file_server.cc) target_link_libraries(file_server ${EXAMPLE_LIBS}) add_executable(file_downloader file_downloader.cc) target_link_libraries(file_downloader ${EXAMPLE_LIBS}) add_executable(server_states server_states.cc) target_link_libraries(server_states ${EXAMPLE_LIBS}) add_executable(form_client form_client.cc) target_link_libraries(form_client ${EXAMPLE_LIBS}) add_executable(form_server form_server.cc) target_link_libraries(form_server ${EXAMPLE_LIBS})