Added working CMake build (#1)

master
Jef Roosens 2020-11-05 17:02:06 +01:00
parent bbca7d0a0f
commit 4e5a59b34d
5 changed files with 45 additions and 3 deletions

5
.gitignore vendored
View File

@ -6,3 +6,8 @@
CMakeCache.txt CMakeCache.txt
CMakeFiles/ CMakeFiles/
cmake_install.cmake cmake_install.cmake
compile_commands.json
Makefile
# Final binary
stj

37
src/CMakeLists.txt 100644
View File

@ -0,0 +1,37 @@
cmake_minimum_required(VERSION 3.0)
set(CMAKE_C_COMPILER "clang")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(stj VERSION 0.1)
file(GLOB st_SRC "st/*.c" "st/*.h")
file(GLOB main_SRC "*.c" "*.h")
add_executable(stj x.c "${st_SRC}" "${main_SRC}")
# Find required packages
# Store Find*.cmake files in ./cmake
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/")
find_package(Freetype 2 REQUIRED)
target_include_directories(stj PRIVATE "${FREETYPE_INCLUDE_DIRS}")
target_link_libraries(stj PRIVATE "${FREETYPE_LIBRARIES}")
find_package(Fontconfig REQUIRED)
target_include_directories(stj PRIVATE "${Fontconfig_INCLUDE_DIRS}")
target_link_libraries(stj PRIVATE "${Fontconfig_LIBRARIES}")
find_package(X11 REQUIRED)
target_include_directories(stj PRIVATE "${X11_INCLUDE_DIR}")
target_link_libraries(stj PRIVATE "${X11_LIBRARIES}")
# Needed to work; copied from original Makefile
target_link_libraries(stj PRIVATE m)
target_link_libraries(stj PRIVATE rt)
target_link_libraries(stj PRIVATE util)
target_link_libraries(stj PRIVATE Xft)
target_link_libraries(stj PRIVATE Xrender)
# Add version as flag
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVERSION=\"${CMAKE_PROJECT_VERSION}\"")

View File

View File

@ -18,7 +18,7 @@
#include <wchar.h> #include <wchar.h>
#include "st.h" #include "st.h"
#include "win.h" #include "../win.h"
#if defined(__linux) #if defined(__linux)
#include <pty.h> #include <pty.h>

View File

@ -17,7 +17,7 @@
char *argv0; char *argv0;
#include "arg.h" #include "arg.h"
#include "st.h" #include "st/st.h"
#include "win.h" #include "win.h"
/* types used in config.h */ /* types used in config.h */
@ -2036,7 +2036,7 @@ main(int argc, char *argv[])
opt_embed = EARGF(usage()); opt_embed = EARGF(usage());
break; break;
case 'v': case 'v':
die("%s " VERSION "\n", argv0); die("%s %s \n", argv0, VERSION);
break; break;
default: default:
usage(); usage();