summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2015-04-17 21:09:36 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2015-04-17 21:09:36 +0200
commitd4c3033adcfa359ae0c82a0d3b1bee6a96245ba1 (patch)
tree5aa9045bd218ff3d7e8022bfb465e7bc4afa8bfb /CMakeLists.txt
downloadaCms-d4c3033adcfa359ae0c82a0d3b1bee6a96245ba1.tar.gz
aCms-d4c3033adcfa359ae0c82a0d3b1bee6a96245ba1.tar.bz2
first raw empty classes and structure
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt145
1 files changed, 145 insertions, 0 deletions
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
+)