# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*- cmake_minimum_required(VERSION 2.8.11) # Project name project(notekit) # This setting is useful for providing JSON file used by CodeLite for code completion set(CMAKE_EXPORT_COMPILE_COMMANDS 1) set(CONFIGURATION_NAME "Release") set(CL_WORKSPACE_DIRECTORY .) # Set default locations set(CL_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/${CL_WORKSPACE_DIRECTORY}/cmake-build-${CONFIGURATION_NAME}/output) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CL_OUTPUT_DIRECTORY}) # Projects # Top project # Define some variables set(PROJECT_notekit_PATH "${CMAKE_CURRENT_LIST_DIR}") set(WORKSPACE_PATH "${CMAKE_CURRENT_LIST_DIR}/") #{{{{ User Code 1 option (HAVE_LASEM "Use lasem-0.6 library to render LaTeX math" OFF) set (LASEM_PATH "${CMAKE_CURRENT_LIST_DIR}/lasem/" CACHE STRING "Base path for lasem-0.6") option (HAVE_CLATEXMATH "Use cLaTeXMath to render LaTeX math" OFF) set (CLATEXMATH_PATH "${CMAKE_CURRENT_LIST_DIR}/cLaTeXMath/" CACHE STRING "Base path for cLaTeXMath") option (MIGRATE_LEGACY_SETTINGS "Migrate settings from legacy config file" ON) set(DEFAULT_SETTINGS_PROVIDER "json" CACHE STRING "GSettings backend") set_property(CACHE DEFAULT_SETTINGS_PROVIDER PROPERTY STRINGS json gio) set (LATEX_COMMENT_START "") if (HAVE_LASEM) include_directories("${LASEM_PATH}/src/") set (LATEX_COMMENT_START "") set (LATEX_COMMENT_END "") endif (HAVE_LASEM) if (HAVE_CLATEXMATH) include_directories("${CLATEXMATH_PATH}/src/") set (LATEX_COMMENT_START "") set (LATEX_COMMENT_END "") find_package(PkgConfig) # due to # https://github.com/NanoMichael/cLaTeXMath/pull/68 # https://github.com/NanoMichael/cLaTeXMath/pull/70 # we have to link tinyxml2 manually now pkg_check_modules(tinyxml2 tinyxml2) endif (HAVE_CLATEXMATH) configure_file ( "${CMAKE_CURRENT_LIST_DIR}/config.h.in" "${CMAKE_CURRENT_LIST_DIR}/config.h" ) configure_file ( "${CMAKE_CURRENT_LIST_DIR}/sourceview/markdown.lang.in" "${CMAKE_CURRENT_LIST_DIR}/sourceview/markdown.lang" ) execute_process (COMMAND pkg-config gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE _glib_comple_schemas OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process (COMMAND ${_glib_comple_schemas} --dry-run --schema-file=${CMAKE_CURRENT_SOURCE_DIR}/gnome/com.github.blackhole89.notekit.gschema.xml ERROR_VARIABLE _schemas_invalid OUTPUT_STRIP_TRAILING_WHITESPACE) if (_schemas_invalid) message (SEND_ERROR "Schema validation error: ${_schemas_invalid}") endif (_schemas_invalid) add_custom_command( OUTPUT "${CMAKE_CURRENT_LIST_DIR}/data/gschemas.compiled" WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/gnome" COMMAND "${_glib_comple_schemas}" ARGS "${CMAKE_CURRENT_LIST_DIR}/gnome" "--targetdir=${CMAKE_CURRENT_LIST_DIR}/data" DEPENDS "${CMAKE_CURRENT_LIST_DIR}/gnome/com.github.blackhole89.notekit.gschema.xml" VERBATIM ) add_custom_target(schema SOURCES "${CMAKE_CURRENT_LIST_DIR}/data/gschemas.compiled") #}}}} include_directories( . . ) # Compiler options execute_process(COMMAND pkg-config --cflags gtkmm-3.0 OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_1) execute_process(COMMAND pkg-config --cflags gtksourceviewmm-3.0 OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_2) execute_process(COMMAND pkg-config --cflags jsoncpp OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_3) execute_process(COMMAND pkg-config --cflags fontconfig OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_4) add_definitions(${CL_VAR_1}) add_definitions(${CL_VAR_2}) add_definitions(${CL_VAR_3}) add_definitions(${CL_VAR_4}) add_definitions(-std=c++17) add_definitions(-O2) add_definitions(-Wall) add_definitions( -DNDEBUG ) # Linker options execute_process(COMMAND pkg-config --libs gtkmm-3.0 OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_5) execute_process(COMMAND pkg-config --libs gtksourceviewmm-3.0 OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_6) execute_process(COMMAND pkg-config --libs jsoncpp OUTPUT_VARIABLE CL_TMP_VAR OUTPUT_STRIP_TRAILING_WHITESPACE) string(STRIP ${CL_TMP_VAR} CL_VAR_7) set(LINK_OPTIONS ${CL_VAR_5}) set(LINK_OPTIONS ${LINK_OPTIONS} ${CL_VAR_6}) set(LINK_OPTIONS ${LINK_OPTIONS} ${CL_VAR_7}) if(WIN32) # Resource options endif(WIN32) # Library path link_directories( . ) # Define the CXX sources set ( CXX_SRCS ${CMAKE_CURRENT_LIST_DIR}/settings.cpp ${CMAKE_CURRENT_LIST_DIR}/mainwindow.cpp ${CMAKE_CURRENT_LIST_DIR}/main.cpp ${CMAKE_CURRENT_LIST_DIR}/navigation.cpp ${CMAKE_CURRENT_LIST_DIR}/imagewidgets.cpp ${CMAKE_CURRENT_LIST_DIR}/notebook.cpp ${CMAKE_CURRENT_LIST_DIR}/drawing.cpp ${CMAKE_CURRENT_LIST_DIR}/about.cpp ) set_source_files_properties( ${CXX_SRCS} PROPERTIES COMPILE_FLAGS " -std=c++17 -pthread -pthread -O2 -Wall") if(WIN32) enable_language(RC) set(CMAKE_RC_COMPILE_OBJECT " ${RC_OPTIONS} -O coff -i -o ") endif(WIN32) #{{{{ User Code 2 if (HAVE_LASEM) set(LINK_OPTIONS -L${LASEM_PATH}/src/.libs/ -l:liblasem-0.6.a ${LINK_OPTIONS}) endif (HAVE_LASEM) if (HAVE_CLATEXMATH) set(LINK_OPTIONS -L${CLATEXMATH_PATH}/ -l:libLaTeX.a -l${tinyxml2_LIBRARIES} ${LINK_OPTIONS}) endif (HAVE_CLATEXMATH) #}}}} add_executable(notekit ${RC_SRCS} ${CXX_SRCS} ${C_SRCS}) target_link_libraries(notekit ${LINK_OPTIONS}) target_link_libraries(notekit z fontconfig ) #{{{{ User Code 3 if (HAVE_LASEM) target_link_libraries(notekit xml2) endif (HAVE_LASEM) if (HAVE_CLATEXMATH) target_link_libraries(notekit fontconfig) endif (HAVE_CLATEXMATH) add_dependencies(notekit schema) install(TARGETS notekit DESTINATION bin) install(DIRECTORY data DESTINATION share/notekit) install(DIRECTORY sourceview DESTINATION share/notekit) #}}}}