System-rat / ansi

A simple C++ ANSI terminal library
https://system-rat.github.io/ansi/
MIT License
0 stars 0 forks source link

Windows compatibility #3

Open System-rat opened 2 years ago

System-rat commented 2 years ago

Currently the library just yeets itself out of existence on a Windows machine. Certain functions assume that on windows ANSI is unsupported, though ConHost can be switched to ANSI compatibility, I just didn't care much to implement it on my Linux machine initially but it will have to be implemented at some point.

This is a tracking issue for windows compatibility stuff.

System-rat commented 2 years ago

The library now builds on windows on the windows-compat branch. However due to windows being a very fun developer experience :clown_face: It still can't be linked to a project via add_subdirectory due to some issues with the way dylibs are handled in windows... because of course windows would do it differently.

kladskull commented 2 years ago

I was able to compile my app with the ansi directory in a subfolder with this cmake

cmake_minimum_required(VERSION 3.22) project(grid)

set(CMAKE_CXX_STANDARD 23) add_compile_options(-fsanitize=address) add_link_options(-fsanitize=address)

add_subdirectory(${PROJECT_SOURCE_DIR}/ansi/) target_include_directories(ansi PUBLIC ${PROJECT_SOURCE_DIR}/ansi/include/ ${PROJECT_SOURCE_DIR}/ansi/src/)

include_directories( ${PROJECT_SOURCE_DIR}/ansi/include/) include_directories( ${PROJECT_SOURCE_DIR}/ansi/src/)

target_link_libraries(ansi)

add_executable(grid main.cpp sockets.cpp sockets.h datetime.cpp datetime.h io.cpp io.h) target_link_libraries(grid ansi)