From d4c3033adcfa359ae0c82a0d3b1bee6a96245ba1 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 17 Apr 2015 21:09:36 +0200 Subject: first raw empty classes and structure --- CMakeLists.txt | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..54df7bb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,145 @@ +cmake_minimum_required(VERSION 2.6) +project(strusCms) + +find_library(CPPCMS cppcms) +find_library(BOOSTER booster) +find_library(CPPDB cppdb) + +find_path(CPPCMS_INC cppcms/application.h) +find_path(BOOSTER_INC booster/shared_ptr.h) +find_path(CPPDB_INC cppdb/frontend.h) + +include_directories(${CPPCMS_INC}) +include_directories(${BOOSTER_INC}) +include_directories(${CPPDB_INC}) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) + +find_program(TMPLCC cppcms_tmpl_cc) +find_program(XGETTEXT xgettext) +find_program(MSGFMT msgfmt) +find_program(MSGMERGE msgmerge) + +set(TEMPLATES + ${CMAKE_CURRENT_SOURCE_DIR}/templates/main.tmpl +) + +set(SRC + src/main.cpp + src/strusCms.cpp +) + +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/view.cpp + COMMAND ${TMPLCC} + -d wikipp + -o ${CMAKE_CURRENT_BINARY_DIR}/view.cpp + ${TEMPLATES} + DEPENDS ${TEMPLATES} +) + +if(USE_STATIC_VIEW) + add_executable(strusCms ${SRC} ${CMAKE_CURRENT_BINARY_DIR}/view.cpp) +else() + add_executable(strusCms ${SRC}) + add_library(view SHARED ${CMAKE_CURRENT_BINARY_DIR}/view.cpp) + target_link_libraries(view ${BOOSTER} ${CPPCMS}) +endif() + +target_link_libraries(strusCms ${BOOSTER} ${CPPCMS} ${CPPDB}) + +#~ set(LOCALES de fr) +#~ +#~ set(MO_FILES) +#~ set(UPDATE_PO_LIST) +#~ set(POT_TEMPLATE "${CMAKE_CURRENT_SOURCE_DIR}/po/strusCms.pot") +#~ +#~ add_custom_command( + #~ OUTPUT ${POT_TEMPLATE} + #~ COMMAND + #~ ${XGETTEXT} + #~ --keyword=translate:1,1t + #~ --keyword=translate:1,2,3t + #~ --keyword=_ + #~ --keyword=N_ + #~ ${SRC} + #~ ${CMAKE_CURRENT_BINARY_DIR}/view.cpp + #~ --output=${POT_TEMPLATE} + #~ DEPENDS ${SRC} ${CMAKE_CURRENT_BINARY_DIR}/view.cpp + #~ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + #~ ) +#~ +#~ add_custom_target(update-po) +#~ +#~ foreach(LOCALE ${LOCALES}) + #~ set(MODIR "${CMAKE_CURRENT_BINARY_DIR}/locale/${LOCALE}/LC_MESSAGES") + #~ file(MAKE_DIRECTORY "${MODIR}") + #~ set(MOFILE "${MODIR}/strusCms.mo") + #~ set(POFILE "${CMAKE_CURRENT_SOURCE_DIR}/po/${LOCALE}.po") + #~ + #~ add_custom_command( + #~ OUTPUT ${MOFILE} + #~ COMMAND ${MSGFMT} ${POFILE} -o ${MOFILE} + #~ DEPENDS ${POFILE}) + #~ + #~ add_custom_target(update-po-${LOCALE} + #~ COMMAND ${MSGMERGE} -U ${POFILE} ${CMAKE_CURRENT_SOURCE_DIR}/po/strusCms.pot + #~ DEPENDS ${POT_TEMPLATE} + #~ ) + #~ add_dependencies(update-po update-po-${LOCALE}) +#~ + #~ set(MO_FILES ${MO_FILES} ${MOFILE}) + #~ set(UPDATE_PO_LIST ${UPDATE_PO_LIST} update-po-${LOCALE}) +#~ endforeach() +#~ +#~ add_custom_target(create-po ALL DEPENDS ${MO_FILES}) +#~ +#~ install(TARGETS strusCms view + #~ RUNTIME DESTINATION bin + #~ LIBRARY DESTINATION lib/strus + #~ ARCHIVE DESTINATION lib/strus) +#~ +#~ foreach(STYLE style style-ltr style-rtl) + #~ install(FILES media/${STYLE}.css DESTINATION share/strusCms/media) +#~ endforeach() +#~ +#~ foreach(SQL sqlite3 postgresql) + #~ install(FILES sql/${SQL}.sql DESTINATION share/strusCms/sql) +#~ endforeach() +#~ +#~ foreach(LOCALE ${LOCALES}) + #~ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/locale/${LOCALE}/LC_MESSAGES/strusCms.mo + #~ DESTINATION share/locale/${LOCALE}/LC_MESSAGES/) +#~ endforeach() +#~ +#~ install(FILES sample_config.js DESTINATION share/strusCms) + +if(UNIX) + ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution) + SET(DISTCLEANED + cmake.depends + cmake.check_depends + CMakeCache.txt + cmake.check_cache + *.cmake + Makefile + core core.* + *~ + CMakeFiles + ) + + ADD_CUSTOM_COMMAND( + DEPENDS clean + COMMENT "distribution clean" + COMMAND rm + ARGS -Rf pkg ${DISTCLEANED} + TARGET distclean + ) +endif() + +ADD_CUSTOM_TARGET(run @echo runs the web server) +ADD_CUSTOM_COMMAND( + COMMENT "run" + COMMAND strusCms + ARGS -c ./config.js + TARGET run +) -- cgit v1.2.3-54-g00ecf