mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 10:52:53 +00:00
103 lines
3.4 KiB
CMake
103 lines
3.4 KiB
CMake
project(kcalc)
|
|
|
|
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
|
find_package(KDE4)
|
|
include(KDE4Defaults)
|
|
include_directories(${KDE4_INCLUDES})
|
|
|
|
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
|
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
|
|
|
|
# If definitions like -D_GNU_SOURCE are needed for these checks they
|
|
# should be added to _KDE4_PLATFORM_DEFINITIONS when it is originally
|
|
# defined outside this file. Here we include these definitions in
|
|
# CMAKE_REQUIRED_DEFINITIONS so they will be included in the build of
|
|
# checks below.
|
|
set( CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} )
|
|
|
|
set(GMP_REQUIRED TRUE)
|
|
else()
|
|
set(GMP_REQUIRED FALSE)
|
|
endif()
|
|
|
|
set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" ${CMAKE_SOURCE_DIR}/cmake/modules)
|
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
|
|
|
|
add_definitions (-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
|
|
|
|
find_package(GMP)
|
|
macro_log_feature( GMP_FOUND "GMP" "The GNU Multiple Precision Arithmetic Library" "http://gmplib.org/" ${GMP_REQUIRED} "" "Required for building KCalc.")
|
|
|
|
if(NOT GMP_FOUND)
|
|
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
|
macro_display_feature_log()
|
|
else()
|
|
return()
|
|
endif()
|
|
endif(NOT GMP_FOUND)
|
|
|
|
include(CheckTypeSize)
|
|
include(CheckIncludeFiles)
|
|
|
|
check_include_files(ieeefp.h HAVE_IEEEFP_H)
|
|
check_type_size("signed long" SIZEOF_SIGNED_LONG)
|
|
check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG)
|
|
|
|
configure_file(config-kcalc.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kcalc.h )
|
|
|
|
include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/knumber ${GMP_INCLUDE_DIR} )
|
|
|
|
########### next target ###############
|
|
# Needs absolute paths due to the test program for knumber
|
|
set(libknumber_la_SRCS
|
|
${kcalc_SOURCE_DIR}/knumber/knumber.cpp
|
|
${kcalc_SOURCE_DIR}/knumber/knumber_error.cpp
|
|
${kcalc_SOURCE_DIR}/knumber/knumber_float.cpp
|
|
${kcalc_SOURCE_DIR}/knumber/knumber_fraction.cpp
|
|
${kcalc_SOURCE_DIR}/knumber/knumber_integer.cpp
|
|
${kcalc_SOURCE_DIR}/knumber/knumber_operators.cpp
|
|
)
|
|
|
|
add_subdirectory( knumber )
|
|
# add_subdirectory( tests )
|
|
|
|
set(kcalc_KDEINIT_SRCS ${libknumber_la_SRCS}
|
|
kcalc.cpp
|
|
bitbutton.cpp
|
|
kcalc_bitset.cpp
|
|
kcalc_button.cpp
|
|
kcalc_const_button.cpp
|
|
kcalc_const_menu.cpp
|
|
kcalc_core.cpp
|
|
kcalcdisplay.cpp
|
|
stats.cpp )
|
|
|
|
kde4_add_ui_files(kcalc_KDEINIT_SRCS
|
|
kcalc.ui
|
|
constants.ui
|
|
colors.ui
|
|
fonts.ui
|
|
general.ui)
|
|
|
|
kde4_add_kcfg_files(kcalc_KDEINIT_SRCS kcalc_settings.kcfgc )
|
|
|
|
kde4_add_app_icon(kcalc_KDEINIT_SRCS "${KDE4_INSTALL_DIR}/share/icons/oxygen/*/apps/accessories-calculator.png")
|
|
|
|
kde4_add_kdeinit_executable( kcalc ${kcalc_KDEINIT_SRCS})
|
|
|
|
target_link_libraries(kdeinit_kcalc ${QT_QTXML_LIBRARY} ${KDE4_KDEUI_LIBS} ${GMP_LIBRARIES} ${MPFR_LIBRARIES})
|
|
|
|
install(TARGETS kdeinit_kcalc ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
target_link_libraries( kcalc kdeinit_kcalc )
|
|
install(TARGETS kcalc ${INSTALL_TARGETS_DEFAULT_ARGS} )
|
|
|
|
########### install files ###############
|
|
|
|
install( PROGRAMS kcalc.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
|
|
install( FILES kcalc.kcfg DESTINATION ${KCFG_INSTALL_DIR})
|
|
install( FILES kcalcui.rc DESTINATION ${DATA_INSTALL_DIR}/kcalc)
|
|
install( FILES scienceconstants.xml DESTINATION ${DATA_INSTALL_DIR}/kcalc)
|
|
install( FILES kcalcrc.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update)
|
|
|
|
kde4_install_icons( ${ICON_INSTALL_DIR} )
|