mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-24 07:08:38 -05:00
FindPython*: Manage weak link for Python modules
Add new target Python::Module which take care of platform requirements for Python module development. Fixes: #18100
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
#include <Python.h>
|
||||
|
||||
#include "display_time.h"
|
||||
|
||||
void display_time()
|
||||
{
|
||||
#if defined(PYTHON3)
|
||||
wchar_t* program = Py_DecodeLocale("display_time", NULL);
|
||||
if (program == NULL) {
|
||||
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
|
||||
exit(1);
|
||||
}
|
||||
char* cmd = "from time import time,ctime\n"
|
||||
"print('Today is', ctime(time()))\n";
|
||||
#else
|
||||
char* program = "display_time";
|
||||
char* cmd = "from time import time,ctime\n"
|
||||
"print 'Today is', ctime(time())\n";
|
||||
#endif
|
||||
|
||||
Py_SetProgramName(program); /* optional but recommended */
|
||||
Py_Initialize();
|
||||
PyRun_SimpleString(cmd);
|
||||
#if defined(PYTHON3)
|
||||
if (Py_FinalizeEx() < 0) {
|
||||
exit(120);
|
||||
}
|
||||
PyMem_RawFree(program);
|
||||
#else
|
||||
Py_Finalize();
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user