mirror of
https://github.com/ra3xdh/qucs_s
synced 2025-03-28 21:13:26 +00:00

1. Added WITH_SPICE CMake variable. If it is not set usual Qucs will be built. Application name is set to "qucs". If it is set, Qucs-S will be built. Application name will be to "qucs-s". 2. Removed hardoced resources paths in "/usr/share/qucs", etc and application names. Now resource paths depends on application name. Resources will be installed into PREFIX/share/qucs-s/ for Qucs-S 3. Introduced a special definition QUCS_NAME in config.h. It will store real application name. 4. Disabled default Debug mode for CMake 5. Exclude qucsattenuator, qucsedit, qucsresocdes, qucstrans, and qucshelp (except docs) from the build system when building with WITH_SPICE switch
98 lines
2.8 KiB
CMake
98 lines
2.8 KiB
CMake
PROJECT(qucslib CXX C)
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
|
cmake_policy(VERSION 2.6)
|
|
|
|
IF(WITH_SPICE)
|
|
MESSAGE("SPICE support enabled")
|
|
SET(QUCS_NAME "qucs-s")
|
|
ELSE()
|
|
SET(QUCS_NAME "qucs")
|
|
ENDIF()
|
|
|
|
# use top VERSION file
|
|
file (STRINGS ${PROJECT_SOURCE_DIR}/../VERSION QUCS_VERSION)
|
|
message(STATUS "Configuring ${PROJECT_NAME} (GUI): VERSION ${QUCS_VERSION}")
|
|
|
|
set(PROJECT_VERSION "${QUCS_VERSION}")
|
|
|
|
set(PROJECT_VENDOR "Qucs team. This program is licensed under the GNU GPL")
|
|
set(PROJECT_COPYRIGHT_YEAR "2014")
|
|
set(PROJECT_DOMAIN_FIRST "qucs")
|
|
set(PROJECT_DOMAIN_SECOND "org")
|
|
|
|
#SET(CMAKE_BUILD_TYPE Debug)
|
|
|
|
ADD_DEFINITIONS( -DHAVE_CONFIG_H )
|
|
|
|
# configure the header config.h
|
|
CONFIGURE_FILE (
|
|
"${PROJECT_SOURCE_DIR}/../config.h.cmake"
|
|
"${PROJECT_BINARY_DIR}/config.h"
|
|
)
|
|
|
|
INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR} "../qucs" )
|
|
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ") # enable warning level
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x ") # enable C++11
|
|
|
|
# flag not available in mingw 4.8.2, MSVC10
|
|
IF(NOT WIN32)
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-register ")
|
|
ENDIF()
|
|
|
|
FIND_PACKAGE( Qt4 REQUIRED )
|
|
SET( QT_USE_QTGUI TRUE )
|
|
|
|
INCLUDE( ${QT_USE_FILE} )
|
|
|
|
ADD_DEFINITIONS(${QT_DEFINITIONS})
|
|
|
|
SET(QUCSLIB_SRCS
|
|
main.cpp qucslib.cpp displaydialog.cpp symbolwidget.cpp librarydialog.cpp
|
|
)
|
|
|
|
SET(QUCSLIB_MOC_HDRS
|
|
qucslib.h displaydialog.h symbolwidget.h librarydialog.h
|
|
)
|
|
|
|
QT4_WRAP_CPP( QUCSLIB_MOC_SRCS ${QUCSLIB_MOC_HDRS} )
|
|
|
|
SET(RESOURCES qucslib.qrc)
|
|
QT4_ADD_RESOURCES(RESOURCES_SRCS ${RESOURCES})
|
|
|
|
IF(APPLE)
|
|
# set information on Info.plist file
|
|
SET(MACOSX_BUNDLE_INFO_STRING "${PROJECT_NAME} ${PROJECT_VERSION}")
|
|
SET(MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_NAME} ${PROJECT_VERSION}")
|
|
SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${PROJECT_NAME} ${PROJECT_VERSION}")
|
|
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}")
|
|
SET(MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT_YEAR} ${PROJECT_VENDOR}")
|
|
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_DOMAIN_SECOND}.${PROJECT_DOMAIN_FIRST}")
|
|
SET(MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME}")
|
|
SET(MACOSX_BUNDLE_ICON_FILE qucslib.icns)
|
|
|
|
# set where in the bundle to put the icns file
|
|
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/../qucs/bitmaps/qucslib.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
# include the icns file in the target
|
|
SET(QUCSLIB_SRCS ${QUCSLIB_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/../qucs/bitmaps/qucslib.icns)
|
|
|
|
ENDIF(APPLE)
|
|
|
|
ADD_EXECUTABLE(${QUCS_NAME}lib MACOSX_BUNDLE WIN32
|
|
${QUCSLIB_SRCS}
|
|
${QUCSLIB_MOC_SRCS}
|
|
${RESOURCES_SRCS} )
|
|
|
|
TARGET_LINK_LIBRARIES(${QUCS_NAME}lib ${QT_LIBRARIES})
|
|
|
|
INSTALL(TARGETS ${QUCS_NAME}lib
|
|
BUNDLE DESTINATION bin COMPONENT Runtime
|
|
RUNTIME DESTINATION bin COMPONENT Runtime
|
|
)
|
|
|
|
ADD_SUBDIRECTORY( library )
|
|
|
|
# man pages
|
|
INSTALL( FILES qucslib.1 DESTINATION share/man/man1 )
|
|
|