Commit 2f00920e authored by Dominik Charousset's avatar Dominik Charousset

added 'doc' target to call doxygen

parent a9e9892b
...@@ -13,7 +13,7 @@ set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) ...@@ -13,7 +13,7 @@ set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
# Check if the user provided CXXFLAGS on the command line. # Check if the user provided CXXFLAGS on the command line.
if (CMAKE_CXX_FLAGS) if (CMAKE_CXX_FLAGS)
set(CXXFLAGS_PROVIDED true) set(CXXFLAGS_PROVIDED true)
ENDIF () endif ()
if (CXXFLAGS_PROVIDED) if (CXXFLAGS_PROVIDED)
set(CMAKE_CXX_FLAGS_DEBUG "") set(CMAKE_CXX_FLAGS_DEBUG "")
...@@ -153,24 +153,28 @@ set(LIBCPPA_VERSION_PATCH 0) ...@@ -153,24 +153,28 @@ set(LIBCPPA_VERSION_PATCH 0)
set(LIBRARY_VERSION ${LIBCPPA_VERSION_MAJOR}.${LIBCPPA_VERSION_MINOR}.${LIBCPPA_VERSION_PATCH}) set(LIBRARY_VERSION ${LIBCPPA_VERSION_MAJOR}.${LIBCPPA_VERSION_MINOR}.${LIBCPPA_VERSION_PATCH})
set(LIBRARY_SOVERSION ${LIBCPPA_VERSION_MAJOR}) set(LIBRARY_SOVERSION ${LIBCPPA_VERSION_MAJOR})
set_target_properties(libcppa PROPERTIES SOVERSION ${LIBRARY_SOVERSION} VERSION ${LIBRARY_VERSION} OUTPUT_NAME cppa) set_target_properties(libcppa
PROPERTIES
SOVERSION ${LIBRARY_SOVERSION}
VERSION ${LIBRARY_VERSION}
OUTPUT_NAME cppa)
# install shared library
install(TARGETS libcppa LIBRARY DESTINATION lib) install(TARGETS libcppa LIBRARY DESTINATION lib)
# install includes # install includes
install(DIRECTORY cppa/ DESTINATION include/cppa install(DIRECTORY cppa/ DESTINATION include/cppa FILES_MATCHING PATTERN "*.hpp")
FILES_MATCHING PATTERN "*.hpp")
# uninstall target # process cmake_uninstall.cmake.in
configure_file( configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY) IMMEDIATE @ONLY)
# add uninstall target
add_custom_target(uninstall add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P COMMAND ${CMAKE_COMMAND} -P
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
if (LIBRARY_OUTPUT_PATH) if (LIBRARY_OUTPUT_PATH)
set (CPPA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH}) set (CPPA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
set (CPPA_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH}) set (CPPA_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH})
...@@ -198,9 +202,13 @@ else () ...@@ -198,9 +202,13 @@ else ()
endif () endif ()
enable_testing() enable_testing()
# set up subdirectories
add_subdirectory(unit_testing) add_subdirectory(unit_testing)
add_subdirectory(examples) add_subdirectory(examples)
add_subdirectory(benchmarks) add_subdirectory(benchmarks)
# add libcppa as a dependency to all binaries
add_dependencies(announce_example_1 libcppa) add_dependencies(announce_example_1 libcppa)
add_dependencies(announce_example_2 libcppa) add_dependencies(announce_example_2 libcppa)
add_dependencies(announce_example_3 libcppa) add_dependencies(announce_example_3 libcppa)
...@@ -231,14 +239,23 @@ add_dependencies(test__spawn libcppa) ...@@ -231,14 +239,23 @@ add_dependencies(test__spawn libcppa)
add_dependencies(test__type_list libcppa) add_dependencies(test__type_list libcppa)
add_dependencies(test__yield_interface libcppa) add_dependencies(test__yield_interface libcppa)
# set optional flags
string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) string(TOUPPER ${CMAKE_BUILD_TYPE} build_type)
set(CONTEXT_SWITCHING true) set(CONTEXT_SWITCHING true)
if (DISABLE_CONTEXT_SWITCHING) if (DISABLE_CONTEXT_SWITCHING)
set(CONTEXT_SWITCHING false) set(CONTEXT_SWITCHING false)
endif() endif()
message( # check for doxygen and add custom "doc" target to Makefile
"\n====================| Build Summary |====================" find_package(Doxygen)
if (DOXYGEN_FOUND)
configure_file(${CMAKE_SOURCE_DIR}/Doxyfile.in ${CMAKE_SOURCE_DIR}/Doxyfile @ONLY)
#add_custom_command(TARGET doc COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_HOME_DIRECTORY}/Doxyfile WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} COMMENT "Generating API documentation with Doxygen" VERBATIM)
endif (DOXYGEN_FOUND)
# done (print summary)
message("\n====================| Build Summary |===================="
"\n" "\n"
"\nLibcppa version: ${LIBRARY_VERSION}" "\nLibcppa version: ${LIBRARY_VERSION}"
"\n" "\n"
......
...@@ -565,7 +565,7 @@ WARN_LOGFILE = ...@@ -565,7 +565,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories # directories like "/usr/src/myproject". Separate the files or directories
# with spaces. # with spaces.
INPUT = cppa/ cppa/util cppa/intrusive INPUT = @CMAKE_HOME_DIRECTORY@/cppa/ @CMAKE_HOME_DIRECTORY@/cppa/util @CMAKE_HOME_DIRECTORY@/cppa/intrusive
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
......
...@@ -230,6 +230,9 @@ clean: ...@@ -230,6 +230,9 @@ clean:
distclean: distclean:
rm -rf $(DIRS) Makefile rm -rf $(DIRS) Makefile
doc:
$(MAKE) -C $(firstword $(DIRS)) $@
.PHONY: all test install uninstall clean distclean .PHONY: all test install uninstall clean distclean
EOT EOT
) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment