diff --git a/CMakeLists.txt b/CMakeLists.txt index c8df863ecf02797511335e9337e4ccc98e8c336e..02b574f18d71d869e9fe198ae810ea6ba97566ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ include(CheckLanguage) project (ftl.utu.fi) +include(GNUInstallDirs) include(CTest) enable_testing() @@ -33,9 +34,6 @@ if (NODE_NPM) message(STATUS "Found NPM: ${NODE_NPM}") endif() -include_directories(${GLOG_INCLUDE_DIRS}) - -# Why is this problematic on some machines? check_language(CUDA) if (CUDA_TOOLKIT_ROOT_DIR) enable_language(CUDA) diff --git a/net/CMakeLists.txt b/net/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..af0bf9e7701c67fbd4b0bef14d75898de7aa149c --- /dev/null +++ b/net/CMakeLists.txt @@ -0,0 +1,11 @@ +add_subdirectory(cpp) + +# Perform Javascript module tests +if (NODE_NPM) + add_test( + NAME NetJSTests + COMMAND npm test + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/net/js + ) +endif() + diff --git a/net/cpp/CMakeLists.txt b/net/cpp/CMakeLists.txt index 046aa32d33d26a5971c07c613e0da8ed371bbad3..65f902bdfc66df8ccc7ed7d20b66eb1309e61bcd 100644 --- a/net/cpp/CMakeLists.txt +++ b/net/cpp/CMakeLists.txt @@ -3,7 +3,7 @@ include_directories(${PROJECT_SOURCE_DIR}/net/cpp/include) #include_directories(${PROJECT_BINARY_DIR}) -set(NETSOURCE +add_library(ftlnet src/net.cpp src/listener.cpp src/socket.cpp @@ -13,15 +13,20 @@ set(NETSOURCE src/p2p.cpp ) -#check_include_file("uriparser/Uri.h" HAVE_URI_H) -#if(NOT HAVE_URI_H) -# message(FATAL_ERROR "Uriparser not found") -#endif() check_function_exists(uriParseSingleUriA HAVE_URIPARSESINGLE) -add_library(ftlnet ${NETSOURCE}) +target_include_directories(ftlnet PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:include> + PRIVATE src) target_link_libraries(ftlnet Threads::Threads glog::glog) +install(TARGETS ftlnet EXPORT ftlnet-config + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + add_executable(net-cli src/main.cpp) target_link_libraries(net-cli ftlnet glog::glog ${URIPARSER_LIBRARIES} Threads::Threads ${READLINE_LIBRARY} ${UUID_LIBRARIES}) add_dependencies(net-cli ftlnet)