diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 1c59f0a..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,83 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -project(CuteSchedule VERSION 0.1 LANGUAGES CXX) - -set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) -find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) - -file(GLOB_RECURSE PROJECT_SOURCES "src/**.cpp" "src/**.cxx" "src/**.h" "src/**.hpp") -list(APPEND PROJECT_SOURCES "main.cpp") - -if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) - qt_add_executable(CuteSchedule - MANUAL_FINALIZATION - ${PROJECT_SOURCES} - ) -# Define target properties for Android with Qt 6 as: -# set_property(TARGET CuteSchedule APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR -# ${CMAKE_CURRENT_SOURCE_DIR}/android) -# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation -else() - if(ANDROID) - add_library(CuteSchedule SHARED - ${PROJECT_SOURCES} - ) -# Define properties for Android with Qt 5 after find_package() calls as: -# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") - else() - add_executable(CuteSchedule - ${PROJECT_SOURCES} - ) - endif() -endif() - -# --- External projects include --- # -# Add yaml-cpp -include(ExternalProject) -set(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/external) - -ExternalProject_Add(yaml-cpp-src - GIT_REPOSITORY "https://github.com/jbeder/yaml-cpp" - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION} -) - -include_directories(${EXTERNAL_INSTALL_LOCATION}/include) -link_directories(${EXTERNAL_INSTALL_LOCATION}/lib) - -add_library(yaml-cpp UNKNOWN IMPORTED) -add_dependencies(CuteSchedule yaml-cpp-src) - -set_target_properties(yaml-cpp PROPERTIES - IMPORTED_LOCATION ${EXTERNAL_INSTALL_LOCATION}/lib/libyaml-cpp.a -) - -# --- End external projects --- # - -target_link_libraries(CuteSchedule - PRIVATE - Qt${QT_VERSION_MAJOR}::Widgets - yaml-cpp -) - -set_target_properties(CuteSchedule PROPERTIES - MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} - MACOSX_BUNDLE TRUE - WIN32_EXECUTABLE TRUE -) - -install(TARGETS CuteSchedule - BUNDLE DESTINATION . - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) - -if(QT_VERSION_MAJOR EQUAL 6) - qt_finalize_executable(CuteSchedule) -endif() diff --git a/src/sysutil.cpp b/src/sysutil.cpp new file mode 100644 index 0000000..86f2ac8 --- /dev/null +++ b/src/sysutil.cpp @@ -0,0 +1,29 @@ +#include "sysutil.h" + +SysUtil::SysUtil() +{ + +} + +QString SysUtil::getUserName() +{ +#ifdef linux + uid_t uid; + struct passwd* pawd; + uid = getuid(); + pawd = getpwuid(uid); + + return pawd->pw_name; +#endif + +#ifdef _WIN32 +#define MAX 100 + char szBuffer[MAX]; + DWORD len = MAX; + if (GetUserName(szBuffer, &len)) + return szBuffer; +#undef MAX +#endif + + return ""; +} diff --git a/src/sysutil.h b/src/sysutil.h new file mode 100644 index 0000000..13992df --- /dev/null +++ b/src/sysutil.h @@ -0,0 +1,24 @@ +#ifndef SYSUTIL_H +#define SYSUTIL_H + +#include + +#ifdef linux +#include +#include +#endif + +#ifdef _WIN32 +#include +#endif + +class SysUtil : public QObject +{ + Q_OBJECT +public: + SysUtil(); + + static QString getUserName(); +}; + +#endif // SYSUTIL_H