LINUX.ORG.RU

qmake -> cmake, голые си

 ,


0

1

Пытаюсь перевести .pro файл на cmake, голые си, никаких кутей.

Везде пишут что cmake мол по расширению файла понимает, чем его компилить g++/gcc. А вот фиг. Эта зараза компиляет И g++ версию и gcc.

Как заставить эту нехорошую программу конпелять только gcc и покласть то что скомпилено в отдельную директорию? PRO файл

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.c \
    definitions/consts.c \
    printing/print.c \
    processing/parameters.c \
    warehouse/warehouse.c \
    processing/loader.c \
    processing/processor.c

LIBS += -lpng
DESTDIR = ../[bin]

HEADERS += \
    definitions/messages.h \
    definitions/types.h \
    xmacro/xerrors.h \
    definitions/consts.h \
    printing/print.h \
    xmacro/xparameters.h \
    processing/parameters.h \
    definitions/helpers.h \
    warehouse/warehouse.h \
    processing/loader.h \
    processing/processor.h

cmake

project(cmaketest)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
aux_source_directory(./definitions SRC_LIST)
aux_source_directory(./printing SRC_LIST)
aux_source_directory(./processing SRC_LIST)
aux_source_directory(./warehouse SRC_LIST)
aux_source_directory(./xmacro SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})

find_package(PNG REQUIRED)
if (PNG_FOUND)
    include_directories(${PNG_INCLUDE_DIR})
    include_directories(${ZLIB_INCLUDE_DIR})
    add_definitions(-DUSE_LIBPNG)

    target_link_libraries(${PROJECT_NAME} ${PNG_LIBRARY})
endif()

set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall")
#set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall")

Нужно затем, что надо будет конпелять на сервере, а там очень старая слака и мало место для кутей. Замечания по cmake файлу принимаются.


Ответ на: комментарий от invy

Весь autotools в одной картинке :D

ну и что там такого особенного?
главное, что всё это работает на разных платформах и проект собирается довольно тривиально.

Iron_Bug ★★★★★
()

Для такого autotools сильно проще.

slapin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.