diff --git a/CMakeLists.txt b/CMakeLists.txt index ca91c06..b3d1eda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,22 @@ cmake_minimum_required(VERSION 2.6) project(libs) +set(LIBPROJECT 1) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/pip/") if(MINGW) find_package(MinGW REQUIRED) endif() -set(LIB 1) -set(LIBPROJECT 1) -set(PULT 1) -set(USB 1) -set(ICU 1) -set(CRYPT 1) -set(FFTW 1) +option(LIB "System install" 1) +option(DEBUG "Build with -g3" 0) +option(QGLVIEW "Build QGLview library and utils" 0) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall") +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") +#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native") +if (DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3") +endif () + set(PIP_LIBRARY pip) set(PIP_FOLDERS "." "core" "containers" "thread" "system" "io" "console" "math" "code" "geo") set(PIP_INCLUDES) @@ -30,8 +36,6 @@ else () message(STATUS "Install to local \"bin\"") endif () -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") -#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native") foreach(F ${PIP_FOLDERS}) list(APPEND PIP_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/pip/src_main/${F}") endforeach(F) @@ -46,6 +50,9 @@ set(QAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/qad) add_subdirectory(pip) add_subdirectory(qad) set(_DIRS piqt piqt_utils cd_utils qcd_utils) +if (QGLVIEW) + list(APPEND _DIRS qglview) +endif() foreach(_D ${_DIRS}) include_directories(${_D}) add_subdirectory(${_D}) diff --git a/cd_utils/CMakeLists.txt b/cd_utils/CMakeLists.txt index 7a0e8f5..bc7a859 100644 --- a/cd_utils/CMakeLists.txt +++ b/cd_utils/CMakeLists.txt @@ -2,17 +2,17 @@ project(cd_utils) cmake_minimum_required(VERSION 2.6) if (NOT LIBPROJECT) find_package(PIP REQUIRED) + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if (DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif () endif () if (MINGW) find_package(MinGW REQUIRED) endif() include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES}) -option(LIB "System install" 1) -option(DEBUG "Build with -g3" 0) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -if (DEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") -endif () #file(GLOB HDRS_UTILS "*.h") #file(GLOB CPPS_UTILS "*.cpp") set(CPPS_UTILS "cdutils_core.cpp" "cdutils_types.cpp" "cdutils_parser.cpp" "cdutils_k.cpp") @@ -27,7 +27,28 @@ target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY}) add_executable(cdutilstest "cdutilstest.cpp" "cdtest.h") target_link_libraries(cdutilstest ${PIP_LIBRARY} ${PROJECT_NAME}) -if (LIB) +if (LIBPROJECT) include(SDKMacros) sdk_install("" "${PROJECT_NAME}" "${HDRS_UTILS}") +else() + if(LIB) + if(WIN32) + set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) + install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + else() + if(APPLE) + set(CMAKE_INSTALL_PREFIX /usr/local) + else() + set(CMAKE_INSTALL_PREFIX /usr) + endif() + install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif() + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") + else() + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + message(STATUS "Install to local \"bin\"") + endif() endif () diff --git a/piqt/CMakeLists.txt b/piqt/CMakeLists.txt index c615ad8..0681b5e 100644 --- a/piqt/CMakeLists.txt +++ b/piqt/CMakeLists.txt @@ -2,6 +2,13 @@ project(piqt) cmake_minimum_required(VERSION 2.6) if(NOT LIBPROJECT) find_package(PIP REQUIRED) + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if(DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif() + include(QtProject) endif() find_package(QAD REQUIRED) include_directories(${PIP_INCLUDES} ${QAD_INCLUDES}) @@ -9,5 +16,28 @@ set(LIBS ${PIP_LIBRARY} ${QAD_UTILS_LIBRARY}) qt_project(${PROJECT_NAME} "LIB" "${LIBS}" H CPP) if(LIBPROJECT) include(SDKMacros) - sdk_install("" "${PROJECT_NAME}" "${H}") + sdk_install("pip" "${PROJECT_NAME}" "${H}") +else() + if(LIB) + if(WIN32) + set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) + install(FILES ${H} DESTINATION ${MINGW_INCLUDE}/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) + install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) + else() + if(APPLE) + set(CMAKE_INSTALL_PREFIX /usr/local) + else() + set(CMAKE_INSTALL_PREFIX /usr) + endif() + install(FILES ${H} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif() + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") + else() + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + message(STATUS "Install to local \"bin\"") + endif() endif() diff --git a/piqt_utils/CMakeLists.txt b/piqt_utils/CMakeLists.txt index 3efaefc..837211d 100644 --- a/piqt_utils/CMakeLists.txt +++ b/piqt_utils/CMakeLists.txt @@ -1,21 +1,19 @@ project(piqt_utils) cmake_minimum_required(VERSION 2.6) -if(MINGW) - find_package(MinGW REQUIRED) -endif() -option(LIB "System install" 0) -option(DEBUG "Build with -g3" 0) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -if(DEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") -endif() if(LIBPROJECT) include(PIPMacros) include(SDKMacros) else() + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if(DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif() find_package(PIP REQUIRED) endif() find_package(QAD REQUIRED) + include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES} ${PIP_INCLUDES} ${QAD_INCLUDES}) pip_code_model(CCM "../pip/src_main/io/piiodevice.h" "../pip/src_main/io/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es") set(LIBS ${QAD_WIDGETS_LIBRARY} ${QAD_UTILS_LIBRARY} ${QAD_BLOCKVIEW_LIBRARY} ${PIP_LIBRARY}) @@ -32,9 +30,11 @@ else() add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${CMOCS_UTILS} ${CUIS_UTILS} ${CCM}) endif() target_link_libraries(${PROJECT_NAME} ${LIBS}) + if (LIBPROJECT) add_dependencies(piqt_utils pip_cmg) endif() + if (NOT DEFINED ENV{QNX_HOST}) set(CPPS "pidumper.cpp" "pidumper_main.cpp") set(MOCS "pidumper.h") @@ -59,31 +59,38 @@ if (NOT DEFINED ENV{QNX_HOST}) add_executable(piconnectionedit "piconnedit_main.cpp" ${RESS}) target_link_libraries(piconnectionedit ${LIBS} ${PROJECT_NAME}) endif() -set(_TARGETS ${PROJECT_NAME} pidumper piconnectionedit) -sdk_install("" "${TARGETS}" "${HDRS_UTILS}") -#if(LIB) -# if(WIN32) -# set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) -# install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}) -# install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) -# install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) -# get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) -# install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) -# else() -# if(APPLE) -# set(CMAKE_INSTALL_PREFIX /usr/local) -# else() -# set(CMAKE_INSTALL_PREFIX /usr) -# endif() -# install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) -# install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) -# endif() -# message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") -#else() -# install(TARGETS ${PROJECT_NAME} DESTINATION bin) -# message(STATUS "Install to local \"bin\"") -#endif() -#if(NOT DEFINED ENV{QNX_HOST}) -# install(TARGETS pidumper DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -# install(TARGETS piconnectionedit DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -#endif() + +if (NOT DEFINED ENV{QNX_HOST}) + set(_TARGETS pidumper piconnectionedit) +endif() + +if (LIBPROJECT) + sdk_install("pip" "${PROJECT_NAME}" "${HDRS_UTILS}") +else() + if(LIB) + if(WIN32) + set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) + install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE}/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + install(TARGETS ${_TARGETS} DESTINATION ${MINGW_BIN}) + get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) + install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) + else() + if(APPLE) + set(CMAKE_INSTALL_PREFIX /usr/local) + install(TARGETS ${_TARGETS} DESTINATION /usr/local/bin) + else() + set(CMAKE_INSTALL_PREFIX /usr) + install(TARGETS ${_TARGETS} DESTINATION /usr/bin) + endif() + install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif() + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") + else() + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + install(TARGETS ${_TARGETS} DESTINATION bin) + message(STATUS "Install to local \"bin\"") + endif() +endif() diff --git a/qad/CMakeLists.txt b/qad/CMakeLists.txt index 74e33ba..220fd17 100644 --- a/qad/CMakeLists.txt +++ b/qad/CMakeLists.txt @@ -1,18 +1,23 @@ project(qad) cmake_minimum_required(VERSION 2.6) -include(../SDKMacros.cmake) -include(../QtProject.cmake) +if (LIBPROJECT) + include(../SDKMacros.cmake) + include(../QtProject.cmake) +else() + include(QtProject) + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if (DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif () +endif() find_package(OpenGL REQUIRED) if (MINGW) find_package(MinGW REQUIRED) endif() #include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES}) -option(LIB "System install" 0) -option(DEBUG "Build with -g3" 0) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -if (DEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") -endif () + #set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES} qad_widgets qad_utils) if (NOT LIBPROJECT) if (LIB) @@ -34,7 +39,29 @@ set(CMAKES "FindQAD.cmake") install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules) macro(qad_install _TARGET _H_FILES) - sdk_install(qad "${_TARGET}" "${_H_FILES}") + if (LIBPROJECT) + sdk_install("qad" "${_TARGET}" "${_H_FILES}") + else() + if (LIB) + if (WIN32) + if (NOT _H_FILES STREQUAL "") + #message("HFILES ${_H_FILES}") + install(FILES ${_H_FILES} DESTINATION ${MINGW_INCLUDE}/qad) + endif() + install(TARGETS ${_TARGET} DESTINATION ${MINGW_LIB}) + install(TARGETS ${_TARGET} DESTINATION ${MINGW_BIN}) + get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) + install(TARGETS ${_TARGET} DESTINATION ${QTDIR}) + else () + if (NOT _H_FILES STREQUAL "") + install(FILES ${_H_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad) + endif() + install(TARGETS ${_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif () + else () + install(TARGETS ${_TARGET} DESTINATION bin) + endif () + endif() endmacro() macro(qad_plugin NAME _LIBS) diff --git a/qcd_utils/CMakeLists.txt b/qcd_utils/CMakeLists.txt index 5cca884..df4a4f3 100644 --- a/qcd_utils/CMakeLists.txt +++ b/qcd_utils/CMakeLists.txt @@ -2,14 +2,42 @@ project(qcd_utils) cmake_minimum_required(VERSION 2.6) if (NOT LIBPROJECT) find_package(PIP REQUIRED) + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if (DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif () endif() find_package(QAD REQUIRED) include_directories(${PIP_INCLUDES} ${QAD_INCLUDES}) set(LIBS ${PIP_LIBRARY} ${QAD_UTILS_LIBRARY} ${QAD_WIDGETS_LIBRARY} cd_utils piqt) qt_project(${PROJECT_NAME} "LIB" "${LIBS}" H CPP) -sdk_install("" ${PROJECT_NAME} "${H}") -if (NOT DEFINED ENV{QNX_HOST}) - if (PULT) - add_subdirectory(pult) - endif () -endif () +add_subdirectory(pult) +if (LIBPROJECT) + sdk_install("" ${PROJECT_NAME} "${H}") +else() + if(LIB) + if(WIN32) + set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) + install(FILES ${H} DESTINATION ${MINGW_INCLUDE}/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) + install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) + else() + if(APPLE) + set(CMAKE_INSTALL_PREFIX /usr/local) + else() + set(CMAKE_INSTALL_PREFIX /usr) + endif() + install(FILES ${H} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif() + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") + else() + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + message(STATUS "Install to local \"bin\"") + endif() +endif() + diff --git a/qcd_utils/pult/CMakeLists.txt b/qcd_utils/pult/CMakeLists.txt index 589292f..28fc04f 100644 --- a/qcd_utils/pult/CMakeLists.txt +++ b/qcd_utils/pult/CMakeLists.txt @@ -1,8 +1,22 @@ if (NOT LIBPROJECT) find_package(PIP REQUIRED) endif () -if (MINGW) - find_package(MinGW REQUIRED) -endif() set(LIBS ${QAD_GRAPHIC_LIBRARY} ${QAD_UTILS_LIBRARY} ${QAD_WIDGETS_LIBRARY} qcd_utils) qt_project(cd_pult "EXE" "${LIBS}" H CPP) + +if(LIB) + if(WIN32) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + else() + if(APPLE) + install(TARGETS ${PROJECT_NAME} DESTINATION /usr/local/bin) + else() + install(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin) + endif() + endif() + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") +else() + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + message(STATUS "Install to local \"bin\"") +endif() + diff --git a/qcd_utils/pult/form.cpp b/qcd_utils/pult/form.cpp index f8cf38d..d36b4fe 100644 --- a/qcd_utils/pult/form.cpp +++ b/qcd_utils/pult/form.cpp @@ -6,14 +6,139 @@ #include "cdutils_core.h" #include "qcd_core.h" #include "qcd_kmodel.h" +#include "pifile.h" + using namespace CDUtils; +PIStringList takeMembers(PIString &in) { + int slen = in.length(); + int st = -1, bcnt = 0; + PIChar cc; + PIStringList ret; + int rst = -1; + for (int i = 0; i < slen; i++) { + cc = in.at(i); + if (cc == '{') { + if (bcnt == 0) st = i; + bcnt++; + } + if (cc == '}' && st >= 0) { + bcnt--; + if (bcnt == 0) { + in.remove(st, i-st); + return ret; + } + } + if (cc == ';' && bcnt == 1) { + if (rst < 0) rst = st; + ret << in.mid(rst+1, i-rst-1); + rst = i; + } + } + return ret; +} + + +void parseStruct(PIString &in, CDSection * root, const PIStringList &c_types, PIVector §ions, PIVector &enums); + + +void parseEnum(PIString &in, CDSection * root, const PIStringList &c_types, PIVector §ions, PIVector &enums) { + PIString n = in.takeCWord(); + //piCout << n; + PIVariantTypes::Enum e; + e.enum_name = n; + PIString ev = in.inBrackets('{', '}'); + e << ev.split(","); + if (root) { + CDType & cdt((*root)[root->count(false)]); + cdt = CDType(cdt.index(), n, "e", "", "", "", CDType::cdK); + cdt.setEnumValues(e); + enums << cdt; + } else { + enums << CDType(0, n, "e", "", "", "", CDType::cdK); + enums.back().setEnumValues(e); + } + in.removeAll("{"+in+"}"); +} + + +void parseMember(PIString &in, CDSection * root, const PIStringList &c_types, PIVector §ions, PIVector &enums) { + PIString t = in.takeCWord(); + if (t == "struct") { + parseStruct(in, root, c_types, sections, enums); + } + if (t == "enum") { + parseEnum(in, root, c_types, sections, enums); + } + if (root) { + if (c_types.contains(t) && root) { + PIString tt = "s"; + if (t == "bool") tt = "b"; + if (t == "int") tt = "n"; + if (t == "double") tt = "f"; + CDType & cdt((*root)[root->count(false)]); + cdt = CDType(cdt.index(), in.takeCWord(), tt, "", "", "", CDType::cdK); + } + piForeach(CDSection cd, sections) { + if (t == cd.name) { + cd.alias = in.takeCWord(); + root->section(root->sectionsCount()) = cd; + } + } + piForeach(CDType en, enums) { + if (t == en.name()) { + in.takeCWord(); + (*root)[root->count(false)] = en; + } + } + } +} + +void parseStruct(PIString &in, CDSection * root, const PIStringList &c_types, PIVector §ions, PIVector &enums) { + PIString t = in.takeCWord(); + CDSection * c; + if (root) c = &(root->section(root->sectionsCount())); + else c = new CDSection(); + c->name = t; + c->alias = t; + PIStringList members = takeMembers(in); + //piCout << members; + piForeach(PIString &s, members) { + if (s.trim().isEmpty()) continue; + parseMember(s, c, c_types, sections, enums); + } + sections << *c; +} + Form::Form(QWidget *parent) : QWidget(parent), ui(new Ui::Form) { //CDCore::instance()->initPult(); ui->setupUi(this); ui->treeView->setKFile(""); + + PIFile f; + piCout << f.open("test.kh", PIIODevice::ReadOnly); + PIStringList c_types; + c_types << "bool" << "int" << "double" << "string" << "PIString"; + PIString in; + while (!f.isEnd()) { + PIStringList s = f.readLine().trim().split("//"); + if (!s.isEmpty()) + in += s[0]; + } + PIVector sections; + PIVector enums; + int i=0; + while (!in.isEmpty() && i<100) { + if (!in[0].isAlpha()) in.takeSymbol(); + parseMember(in, 0, c_types, sections, enums); + i++; + } + piForeach(CDSection cd, sections) { + if (cd.name == "K") K.root() = cd; + } + ui->treeView->refresh(); } diff --git a/qglview/CMakeLists.txt b/qglview/CMakeLists.txt index dbe4e7c..87f16dc 100644 --- a/qglview/CMakeLists.txt +++ b/qglview/CMakeLists.txt @@ -1,17 +1,21 @@ project(qglview) cmake_minimum_required(VERSION 2.6) -find_package(Qt4 REQUIRED) -find_package(OpenGL REQUIRED) +if (IBPROJECT) + include(SDKMacros) +else() + option(LIB "System install" 0) + option(DEBUG "Build with -g3" 0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall") + if (DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + endif () +endif () if (MINGW) find_package(MinGW REQUIRED) endif() +find_package(Qt4 REQUIRED) +find_package(OpenGL REQUIRED) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES}) -option(LIB "System install" 0) -option(DEBUG "Build with -g3" 0) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall") -if (DEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") -endif () set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${QT_QTXML_LIBRARY} ${OPENGL_LIBRARIES} qad_widgets qad_utils) file(GLOB MOCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h") file(GLOB CPPS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") @@ -25,28 +29,34 @@ qt4_wrap_ui(CUIS ${UIS}) qt4_add_resources(CRES ${RES}) add_library(${PROJECT_NAME} SHARED ${CPPS} ${CMOCS} ${CUIS} ${CRES} ${MOCS}) target_link_libraries(${PROJECT_NAME} ${LIBS}) -if (LIB) - if (WIN32) - set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) - install(FILES ${MOCS} DESTINATION ${MINGW_INCLUDE}) - install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) - install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) - get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) - install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) + +if (LIBPROJECT) + sdk_install("qglview" "${PROJECT_NAME}" "${MOCS}") +else() + if (LIB) + if (WIN32) + set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) + install(FILES ${MOCS} DESTINATION ${MINGW_INCLUDE}/qglview) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH) + install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR}) + else () + if(APPLE) + set(CMAKE_INSTALL_PREFIX /usr/local) + else() + set(CMAKE_INSTALL_PREFIX /usr) + endif() + install(FILES ${MOCS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qglview) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif () + message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") else () - if(APPLE) - set(CMAKE_INSTALL_PREFIX /usr/local) - else() - set(CMAKE_INSTALL_PREFIX /usr) - endif() - install(FILES ${MOCS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) - install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + install(TARGETS ${PROJECT_NAME} DESTINATION bin) + message(STATUS "Install to local \"bin\"") endif () - message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") -else () - install(TARGETS ${PROJECT_NAME} DESTINATION bin) - message(STATUS "Install to local \"bin\"") endif () + qt4_wrap_cpp(CMOCS_TEST "qglview_window.h" OPTIONS -nw) qt4_wrap_ui(CUIS_TEST "qglview_window.ui") add_executable(qglview_test "main.cpp" "qglview_window.cpp" ${CMOCS_TEST} ${CUIS_TEST} ${CRES})